Dependencies

15 views
Skip to first unread message

Pavel Tavoda

unread,
Sep 11, 2013, 6:37:51 AM9/11/13
to fornax-...@googlegroups.com
When I change generator I have to build 'sculptor-generator-core' and 'sculptor-generator-library'. Can't we have dependency directly to 'sculptor-generator-core'? Is it some maven problem or just design decision?

Pavel

Torsten Juergeleit

unread,
Sep 11, 2013, 9:02:21 AM9/11/13
to fornax-...@googlegroups.com
Is it some maven problem or just design decision?

Maybe both :-) Ok. there're technical reasons / restrictions / requirements:
  • The project 'sculptor-generator-core' is an Eclipse artifact (OSGi bundle) built with Maven by using Eclipse Tycho. OSGi bundles expect their dependencies (defined in MANIFEST.MF) to be OSGi bundles provided by a OSGi bundle repository (aka Eclipse p2 repository).
  • The project 'sculptor-maven-plugin' is an Maven plugin artifact built with Maven. Maven plugins expect their dependencies (defined in POM) to be Maven artifacts provided by a Maven repository.
To bridge both worlds (Eclipse OSGi bundles and Maven artifacts) we have to make the project 'sculptor-generator-core' (together with all of its runtime dependencies -> Eclipse OSGi bundles) available as Maven artifacts. This is the role of the project 'sculptor-generator-library': It creates a Maven artifact (the library JAR) by copying all the class files from the Eclipse OSGi plugin required for running Sculptors code generator.

/Torsten

Pavel Tavoda

unread,
Sep 11, 2013, 11:25:42 AM9/11/13
to fornax-...@googlegroups.com
OK, understand this but classes are in same structure inside JAR. Here are just some additional information for p2 style repository and OSGi management.
At least building sculptor-generator-library is taking less than 3 sec ;-).

Is it possible to somehow specify 'build this project and all which depends on it'?

Pavel

Torsten Juergeleit

unread,
Sep 11, 2013, 2:30:53 PM9/11/13
to fornax-...@googlegroups.com
OK, understand this but classes are in same structure inside JAR. Here are just some additional information for p2 style repository and OSGi management.

Yes, but theses artifacts aren't available from a public Maven repository :-P
 

Is it possible to somehow specify 'build this project and all which depends on it'?

Sure, from within "releng/sculptor-dist/" use "mvn install -Pmaven -rf :sculptor-generator-core". This will build the Maven stuff starting from 'sculptor-generator-core'.

But for testing the templates only I would go with unit tests from within 'sculptor-generator-core'. Making a round-trip via Sculptors Maven plugin takes too long.

/Torsten
Reply all
Reply to author
Forward
0 new messages