Any updates an/or suggestions here? On Mon, Sep 27, 2010 at 5:15 PM, Jon Paynter <[email protected]> wrote:
> I tried the dependency copy plugin before and while I was able to have very > good control over the binary artifacts, there was no way to get at filtered > files and resources. > then the problem with using an assembly descriptor, is I have very little > control of where things are written, and trying to write 1 descriptor that > will be applied to a TREE of modules seems to be impossible. > > Here is a variation on the sample project I gave above: > http://www.mediafire.com/file/05bf1m91yd2yafq/TestProject_package.zip > (the pluginDependency thing is not fixed yet). > > Given the 2 existing j2ee projects (j2ee_A and j2ee_B) I want to endup with > a directory structure like the one in 'outputFolder' that consolidates all > the build artifacts from my multi-module project. Getting the application > jar files to copy is easy with the depdendency plugin, and getting a folder > for each j2ee component is possible if I replicate a "package" proejct for > each j2ee project. Not that big a deal when there are only 2 j2ee > components, but we will have around 40 for our full system here, so > maintaining that many seperate but simmilar projects will be a big problem. > > I suspect I'll endup using both dependency copy and assemblies, but > currently im not getting anywhere. > > pointers and tips would be much appreciated. > On Mon, Sep 27, 2010 at 11:37 AM, Anders Hammar <[email protected]>wrote: > >> You could use the dependency plugin for that (copying several artifacts to >> a >> folder). >> >> /Anders >> >> On Mon, Sep 27, 2010 at 20:35, Jon Paynter <[email protected]> wrote: >> >> > hrm.. so is there no way to create an assembly to pull the results from >> > several modules into a single distribution folder? In the big picture >> -- >> > thats what im trying to do. >> > >> > I'll read through the link you gave (again) and see what I can find. >> > >> > >> > On 9/27/10, Anders Hammar <[email protected]> wrote: >> > > >> > > Btw, if you want to have two packages you should NOT consolidate to >> one >> > > project. In Maven world, one project produces one (primary) artifact. >> > > >> > > /Anders >> > > >> > > On Mon, Sep 27, 2010 at 20:28, Anders Hammar <[email protected]> >> wrote: >> > > >> > > > It shouldn't be too hard, there must be some basic stuff you're >> doing >> > > > wrong. >> > > > See if this sheds some light: >> > > > http://www.sonatype.com/books/mvnref-book/reference/assemblies.html >> > > > >> > > > /Anders >> > > > >> > > > >> > > > On Mon, Sep 27, 2010 at 19:56, Jon Paynter <[email protected]> >> wrote: >> > > > >> > > >> Anders, >> > > >> >> > > >> Thanks for the tips -- its these little things that get me in >> trouble. >> > > >> >> > > >> Changing the goal to "single" fixed the build problems. My next >> step >> > > is >> > > >> to >> > > >> try and have a single project to do the packaging for both j2ee >> > > >> components. >> > > >> So I consolidated the assembly projects, and moved them to new >> project >> > > >> named >> > > >> 'packager' under the top level pom. Ive tried moduleSet, >> > dependencySet >> > > >> and >> > > >> fileSet to copy files.. but only dependencySet produces any kind of >> > > >> output. >> > > >> The assembly runs w/o error, but all it does is copy the .pom files >> > for >> > > >> the >> > > >> sibling projects into the target directory. I want it to operate >> on >> > the >> > > >> Contents of each sibling project, and grab the ear, jar and war >> files >> > > >> from the sibling directory trees - but it doesnt seem to do that. >> > > >> >> > > >> Suggestions on where to go from here? >> > > >> >> > > >> Thanks, >> > > >> Jon. >> > > >> >> > > >> >> > > >> On 9/25/10, Anders Hammar <[email protected]> wrote: >> > > >> > >> > > >> > The problem is that you're using the wrong assembly goal. The one >> > you >> > > >> must >> > > >> > use is "single". I changed and it works just fine with Maven >> > 3.0-RC2. >> > > >> > Also, as a side thing while I'm at it, in your "top pom" you >> should >> > > lock >> > > >> > down the plugin versions in build/pluginManagement/plugins (not >> > > >> > build/plugins). >> > > >> > >> > > >> > /Anders >> > > >> > >> > > >> > On Fri, Sep 24, 2010 at 20:58, Jon Paynter <[email protected]> >> > > wrote: >> > > >> > >> > > >> > > Hi, >> > > >> > > >> > > >> > > I have a strange build error I cant explain - but >> (unfortunately >> > to >> > > >> me) >> > > >> > its >> > > >> > > entirely reproducable. >> > > >> > > >> > > >> > > The test project is located here: >> > > >> > > http://www.mediafire.com/file/8do8nz5xhbmdb1m/TestProject.zip >> > > >> > > It consists of an aggregator pom at the top, and 2 more >> aggregator >> > > >> pom's >> > > >> > > below, and then files to build 2 different j2ee components >> (j2ee_A >> > > and >> > > >> > > j2ee_B). The projects dont depend on each other, so they will >> > build >> > > >> fine >> > > >> > > seperately. but when built from the top level pom, I always >> get a >> > > >> > > dependency error in project _B. Ive checked the files in the 2 >> > > >> projects >> > > >> > > and >> > > >> > > aside from the _A and _B names. >> > > >> > > >> > > >> > > to reproduce, do the following: >> > > >> > > - unzip the file somewhere >> > > >> > > - goto the folder & run: mvn package >> > > >> > > you will get the following error: >> > > >> > > >> > > >> > > [INFO] Failed to resolve artifact. >> > > >> > > >> > > >> > > Missing: >> > > >> > > ---------- >> > > >> > > 1) myCompany:j2ee_B.war:war:1.0 >> > > >> > > >> > > >> > > now build the projects individually: >> > > >> > > cd j2ee_B >> > > >> > > mvn package >> > > >> > > >> > > >> > > [INFO] BUILD SUCCESSFUL >> > > >> > > >> > > >> > > cd ..\j2ee_A >> > > >> > > mvn package >> > > >> > > >> > > >> > > [INFO] BUILD SUCCESSFUL >> > > >> > > >> > > >> > > now edit j2ee_A\pom.xml and remove >> <module>j2ee_A_package</module> >> > > >> from >> > > >> > the >> > > >> > > modules list. >> > > >> > > >> > > >> > > go back to the top level pom: >> > > >> > > mvn clean >> > > >> > > mvn package >> > > >> > > >> > > >> > > [INFO] BUILD SUCCESSFUL >> > > >> > > >> > > >> > > Note the project that failed with the first build was not >> touched. >> > > >> > > >> > > >> > > Lastly -- udo the edit in j2ee_A\pom.xml and do the same in >> > > >> > j2ee_B\pom.xml >> > > >> > > mvn clean >> > > >> > > mvn package >> > > >> > > >> > > >> > > [ERROR] BUILD ERROR >> > > >> > > [INFO] --------------------------- >> > > >> > > [INFO] Failed to resolve artifact. >> > > >> > > >> > > >> > > Missing: >> > > >> > > ---------- >> > > >> > > 1) myCompany:j2ee_B.war:war:1.0 >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > This seems to me that somethign is wrong with j2ee_B_package. >> but >> > > >> aside >> > > >> > > from _A and _B the contents are identical between >> j2ee_A_package >> > and >> > > >> > > j2ee_B_package. >> > > >> > > >> > > >> > > How do I get both projects with their assemblies to build from >> the >> > > top >> > > >> > > level >> > > >> > > pom? >> > > >> > > >> > > >> > >> > > >> >> > > > >> > > > >> > > >> > >> > >
