Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
APT jar is not included on sql module bundle #478
The @QueryProjection and @QueryEntity annotations have their use cases among the sql module, because it is possible to have both constructor projection and bean projection with the .as(queryEntity.property) methods, so no strings are needed.
Hence, I'd expect the querydsl-apt-X.X.X.jar to be bundled with the sql zip file, at least with the sql-codegen file, but it is not.
This, however, is insufficient, as there is no jar with the META-INF/services/javax.annotation.processing.Processor file declaring the QuerydslAnnotationProcessor class, which is, for example, required by Eclipse. I managed to make it work by copying the jar from the querydsl-collections download and creating a jar with the aforementioned META-INF file.
It would be nice if querydsl-sql (and querydsl-collections for that matter) would have the same treatment as the jpa module, including something like lib/all/querydsl-apt-X.X.X.jar (same as the one in collections), lib/all/querydsl-sql-X.X.X-apt.jar (just with the META-INF/services/j.a.p.Processor) and something like lib/apt/querydsl-sql-X.X.X-sql-one-jar.jar, with all dependencies and metadata.
Maybe a separate zip packaging of the general APT functionality could be a better approach? Since SQL and the Collections module are not dependent on it, it might be confusing.
Could at querydsl-apt full deps packaging maybe fill this role? The querydsl-apt artifact has already the general classifier which has the processor metadata http://search.maven.org/#artifactdetails|com.mysema.querydsl|querydsl-apt|3.2.2|jar