Comments (4)
Let's include also Roaster to the candidates.
I would rule out JavaParser since it does too much (it's also a parser, analyzer, and transformer), and has a bad API.
from bull.
Let’s also keep an eye on their dependencies, we have to avoid conflict issues in the applications that hosts BULL
from bull.
Following are some considerations on the canditate libs.
I'll start with the negative factors first of those I'd like to rule out:
JavaParser
- does too much: it's a parser, analyzer, transformer other than a generator.
- Focusing on code generation, it doesn't seem to have a nice API.
CodeGen
- has only 2 contributors, last release is from 2017
- given example shows a nice API but doesn't show all the features: maybe it's less powerful than the other libs
Talking instead about positive factors these are the favorites:
JavaPoet
- fluent and powerful API
- extensive feature set (including Javadoc and formatting)
- many contributors, stars and forks
- not actively developed at the moment but seems feature-complete
Roaster
- I had previous experience working with it
- nice API but seems inferior compared to JavaPoet
- fewer contributors than JavaPoet, but it's backed by the Jboss community
All considered I would choose JavaPoet.
from bull.
I do agree with you. If no one has concerns with this library we can go with JavaPoet.
from bull.
Related Issues (20)
- Wildcards types support HOT 1
- Auto code formatter
- [Bytecode Adapter] Transformer bytecode generation and loading HOT 1
- Coveralls integration HOT 1
- BULL Step up! Efficiency and performance improval! HOT 1
- Multiple Builder pattern support HOT 3
- Generator Core Module
- [Core] Transformer model generator - JavaBean -> Immutable HOT 1
- [Core] Transformer model generator - JavaBean -> Mixed HOT 1
- Generator Source Adapter HOT 1
- Replace Hamcrest with AssertJ HOT 1
- Use the new "hasPackage" assertion from AssertJ 3.18.0 HOT 1
- Java Records copy
- Migration to GitHub action
- Group id rename into ExpediaGroup
- Enable one-to-many field mapping and field transformer HOT 1
- Disable override of custom properties HOT 2
- Change Unit Test Language HOT 1
- Kotlin constructor parameters with default break the transformer
- How to get a many to one field mapping for a transformer? HOT 1
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 bull.