It is really a matter of 1) determining what we want mvn deploy to deploy to the module repo and then 2) having someone who knows how to configure maven give a tutorial on how to upgrade the poms and/or configure the deploy plugin appropriately.
To see an example of what a mvn deploy currently deploys, take a look at the three addresshierarchy directories below: http://mavenrepo.openmrs.org/nexus/content/repositories/releases/org/openmrs/module/ I don’t think it is particularly bad for the api and omod to be broken out into different jars, is it? Really, if you are using one module from within another you only need to import the api anyway. We could keep the mvn deploy as-is--we’d just have to update the instructions for how to include another module to note that you have to declare a dependency to the module-name-api artifact instead of module-name. Take care, Mark From: [email protected] [mailto:[email protected]] On Behalf Of Burke Mamlin Sent: Monday, January 09, 2012 4:15 PM To: [email protected] Subject: Re: [OPENMRS-DEV] Including one mavenized module within another mavenized module Assuming the jar within the omod target only contains web classes as you say, then how about: * Rename Target/omod/moduleid-x.y.z.jar to Target/omod/moduleid-omod-x.y.z.jar (only contains web classes) * Create a Target/omod/moduleid-x.y.z.jar that contains both API + web classes (.omod would just be a copy with .omod extension) * mvn deploy would deploy the moduleid-x.y.z.jar containing API + web classes * (eventually) uploading an omod to the module repository would deploy to mvn as well if it hadn't already been done So, devs could either deploy an artifact via mvn deploy or just upload their omod to the module repository. -Burke On Mon, Jan 9, 2012 at 3:47 PM, Mark Goodrich <[email protected]<mailto:[email protected]>> wrote: Yes… but I’m not exactly sure understand it/agree with it… I would assume that we would want to use mvn deploy to deploy the module-api and module-omod jars to maven repo. But, if I’m reading it right… we won’t use mvn deploy to deploy modules to the maven repo. Instead we would simply run a mvn package and then create a ticket to add the module jar to maven repo. It is also unclear exactly what file we would use as the jar. Running a mvn package creates the following files: Target/api/addresshierarchy-api-2.2.0.jar (which only includes the api classes) Target/omod/addresshierarchy-2.2.0.jar (which appears to only include the omod classes) Target/omod/addresshierarchy-2.2.0.omod (which assumedly includes both the omod and api classes) If we want to reference a module just using <artifactId>module-name</artifactId> instead of <artifactId>module-name-api</artifactId> we would have to rename either addresshierarchy-api-2.2.0.jar or addresshierarchy-2.2.0.omod to addresshierarchy-2.2.0.jar. Mark From: [email protected]<mailto:[email protected]> [mailto:[email protected]<mailto:[email protected]>] On Behalf Of Ben Wolfe Sent: Monday, January 09, 2012 1:55 PM To: [email protected]<mailto:[email protected]> Subject: Re: [OPENMRS-DEV] Including one mavenized module within another mavenized module Have you seen this page? https://wiki.openmrs.org/display/docs/Requiring+another+module+in+your+module Ben On Mon, Jan 9, 2012 at 9:33 PM, Mark Goodrich <[email protected]<mailto:[email protected]>> wrote: Hello all— I’m having a little trouble referencing one mavenized module within another mavenized module and am looking for some feedback on what the preferred way to do this is via maven. I was able to deploy the address hierarchy module to the Openmrs maven repo via mvn deploy, and confirmed that the addresshierarchy poms and jars have been successfully added to the repo. Now I have a second module that uses a service provided by the Address Hierarchy module. I’ve tried linking address hierarchy as a pom dependency in the main pom and the api pom of the second module using both the following methods, but in all cases I get compile errors when building the second module because the relevant Address Hierarchy classes can’t be found: <dependency> <groupId>org.openmrs.module</groupId> <artifactId>addresshierarchy</artifactId> <version>2.2.0</version> <type>pom</type> <scope>provided</scope> </dependency> <dependency> <groupId>org.openmrs.module</groupId> <artifactId>addresshierarchy-api</artifactId> <version>2.2.0</version> <type>pom</type> <scope>provided</scope> </dependency> The only way I can get it to build correctly is to reference the addresshierarchy-api jar directly: <dependency> <groupId>org.openmrs.module</groupId> <artifactId>addresshierarchy-api</artifactId> <version>2.2.0</version> <type>jar<type> <scope>provided</scope> </dependency> Is this what we want? Or is there some way to include via pom that I am missing? Thanks, Mark ________________________________ Click here to unsubscribe<mailto:[email protected]?body=SIGNOFF%20openmrs-devel-l> from OpenMRS Developers' mailing list ________________________________ Click here to unsubscribe<mailto:[email protected]?body=SIGNOFF%20openmrs-devel-l> from OpenMRS Developers' mailing list ________________________________ Click here to unsubscribe<mailto:[email protected]?body=SIGNOFF%20openmrs-devel-l> from OpenMRS Developers' mailing list ________________________________ Click here to unsubscribe<mailto:[email protected]?body=SIGNOFF%20openmrs-devel-l> from OpenMRS Developers' mailing list

