Comments (3)
@sbrossie I imagine that the workflow that we're using so far as follow:
-
Edit classes in
killbill-api
. -
Build
killbill-api
so it's available in our local maven repository, and2.1. Then set this
killbill-api
latest version (localSNAPSHOT
version) to eitherkillbill-base-plugin
/killbill-plugin-framework-java
that we're currently working on. Or2.2. Push changes in
killbill-api
and merge it so github action build thiskillbill-api
artifact and published to sonatype, and we can setkillbill-base-plugin
/killbill-plugin-framework-java
that we're currently working on to latest sonatype artifact. -
In
killbill-base-plugin
/killbill-plugin-framework-java
, check for errors/classes that need to re-implements anything based on update from point 1.
From my understanding, the killbill's api-pojo aims to replace tedious task in point 3. No?
Or, do you want that during killbill-api
build, it should automatically:
- Checkout
killbill-base-plugin
/killbill-plugin-framework-java
- Re-generate the boilerplate code.
- Build and test
- If pass, then push it back to
killbill-base-plugin
/killbill-plugin-framework-java
github origin repository
Either way, I think we need to
- Publish
api-pojo
maven repository (central and sonatype) - Depends on your answer for question above, we could
- Utilize exec-maven-plugin to execute code generation
- Develop a maven plugin to execute code generation
Thought?
from killbill-plugin-framework-java.
@xsalefter The task is about automating the re-generation of the killbill-api
POJOs inside killbill-plugin-framework-java
-e.g https://github.com/killbill/killbill-plugin-framework-java/tree/master/src/main/java/org/killbill/billing/account/api/boilerplate
.
That is, whenever we make killbill-api
changes, the killbill-api
version would be updated from the base pom.xml - we are not trying to automate that part- but then we want an easy way to regenerate the killbill-api
POJO using the api-pojo
tool. Right now, it's very manual.
As far implementation goes, exec-maven-plugin
is one option, as it would plug into the build. Another simpler option would be to have a script we can run (not part of the build) - in this case, we could also have a CI job which allows to start the script from GH. Feel free to experiment with whatever is easier / simpler.
from killbill-plugin-framework-java.
@sbrossie continuing discussion at this PR:
I think we should still at point invest into a GH workflow so we can simply press a button and get that generated.
Am I right that the idea is like we have "run workflow" in GitHub action for releasing an artifact? If so:
-
Where do you think that action/button should be exist? I think it is in
killbill-plugin-framework-java
. WDYT? -
After the button clicked, which action do you prefer:
2.1. Generate classes, merge it automatically with target branch, and then do the snapshot/release.
2.2, Create new branch, generate classes, and send PR automatically for review (just like github dependabot)
from killbill-plugin-framework-java.
Related Issues (20)
- Duplicate keys for CC_START_(MONTH|YEAR)
- New API (helper) to retrieve Kill Bill region
- Add support for YAML config HOT 1
- Set default payment method - bug HOT 1
- PostgreSQL support
- Wrong computation for CC_LAST_4 HOT 1
- Add support for encrypted properties
- Queryparams and headers arguments switched HOT 1
- TestUtils.buildAccount should create a valid email address
- Challenges in using some domain classes
- OSGI Import-Package directives HOT 1
- Integrate api pojos HOT 1
- Leverage plugin framework inside (test) catalog plugin HOT 2
- The UTF8UrlDecoder can not decode the multi-byte characters HOT 2
- add follow redirect feature to HttpClient HOT 2
- use java api and remove guava
- Generate POJOs for killbill-plugin-api interfaces HOT 3
- Investigate using Spring into KB plugins
- Type Implementations HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from killbill-plugin-framework-java.