Hi, Using packaging 'pom' for assemblies is a standard practice. There's no artifact that the assembly project produces and that would need to be uploaded to the Maven repo. Only pom file is copied there. The packaging should be left as it is. The problem is caused by the Maven Eclipse plugin. Some time ago I saw a bug report at Codehaus Jira that addresses this issue. It's really old, but it hasn't been resolved yet. In short, Maven Eclipse plugin always ignores projects with packaging 'pom' while it could generate simple Eclipse projects (without any natures) at least for pom projects that do not contain any subprojects (modules). Assembly projects used in Aries samples fall into this category.
The workaround described by Zoe is probably the simplest one possible. Best regards, Bartek 2010/8/12 zoe slattery <[email protected]>: > Hi Alexandros > > I stepped through this, with the following results. > > You are right the the .project and other files do not get generated by > running mvn eclipse:eclipse in the helloworld-assembly > > I ran mvn eclipse:eclipse on the helloworld project and then imported the > helloworld project (and its sub-projects) into eclipse. Although the > .project/settings/classpath files do not exist in the helloworld-assembly > project, it does appear on the list of projects that I can import into > Eclipse. > > After I have imported the project into Eclipse, the > .project/classpath/settings files have been created > > Zoe > >> Zoe, can you please have a look at your: >> >> samples\blueprint\helloworld\helloworld-assembly\pom.xml >> >> and verify that it is set to "pom" packaging? (i.e. you use >> <packaging>pom</packaging>)? >> >> That's what I got from my trunk checkout. I just noticed the following >> line when I run "mvn eclipse:eclipse" (near the end): >> >> .... >> [INFO] Not running eclipse plugin goal for pom project >> .... >> >> It seemed to indicate the eclipse plugin casually ignores "pom" packaging >> artifacts. So I changed that to >> >> <packaging>bundle</packaging> >> >> And indeed the .project / .classpath files were created! >> >> On 10/8/2010 11:19, zoe slattery wrote: >>> >>> Hi Alexandros >>> >>> Thank you so much for picking up on these! I've fixed two the two >>> documentation issues (2) and (3), the fixes should appear on the web in a >>> couple of hours. I'm struggling with (1), mainly because it does work for >>> me :-/ So, after I have run mvn eclipse:eclipse I get this: >>> >>> helloworld-assembly zoe$ ls -a >>> . .classpath .settings pom.xml target >>> .. .project .svn src >>> >>> We are clearly on different platforms (I'm running on a Mac), my maven >>> version information is: >>> >>> Apache Maven 2.2.1 (r801777; 2009-08-06 20:16:01+0100) >>> Java version: 1.6.0_20 >>> Java home: >>> /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home >>> Default locale: en_US, platform encoding: MacRoman >>> OS name: "mac os x" version: "10.6.4" arch: "x86_64" Family: "mac" >>> >>> >>> But I can't see why either of these things would necessarily cause the >>> difference..... >>> >>> Zoe >>> >>>> >>>> >>>> Since I've been reading through the tutorial at >>>> http://incubator.apache.org/aries/blueprinthelloworldtutorial.html, a >>>> couple >>>> more things are worthy of mentioning: >>>> >>>> 1) When I imported the projects into my Eclipse, the >>>> "org.apache.aries.samples.helloworld.blueprint.assembly" was not imported >>>> (this is probably the reason I couldn't find where the config.ini was >>>> coming >>>> from :-). I checked the my "mvn eclipse:eclipse" log and it comes back >>>> with: >>>> >>>> >mvn eclipse:eclipse >>>> >>>> [INFO] >>>> ------------------------------------------------------------------------ >>>> [INFO] Building Apache Aries Blueprint HelloWorld Assembly >>>> [INFO] task-segment: [eclipse:eclipse] >>>> [INFO] >>>> ------------------------------------------------------------------------ >>>> [INFO] Preparing eclipse:eclipse >>>> [INFO] [enforcer:enforce {execution: default}] >>>> [INFO] [antrun:run {execution: create-prop}] >>>> [INFO] Executing tasks >>>> [echo] Maven version: 0.2-incubating-SNAPSHOT >>>> [echo] OSGi version: 0.2.0.incubating-SNAPSHOT >>>> [INFO] Executed tasks >>>> [INFO] [properties:read-project-properties {execution: default}] >>>> [INFO] [remote-resources:process {execution: default}] >>>> [INFO] [resources:resources {execution: filter}] >>>> [INFO] Using 'UTF-8' encoding to copy filtered resources. >>>> [INFO] Copying 0 resource >>>> [INFO] Copying 1 resource >>>> [INFO] Copying 4 resources >>>> [INFO] [eclipse:eclipse {execution: default-cli}] >>>> [INFO] Not running eclipse plugin goal for pom project >>>> [INFO] Using Eclipse Workspace: C:\Users\karypid\projects\aries_ws >>>> [INFO] no substring wtp server match. >>>> [INFO] Using as WTP server : SpringSource Cloud Foundry (Runtime) v1.0 >>>> [INFO] Adding default classpath container: >>>> org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5 >>>> >>>> However, no ".project" file is created: >>>> >>>> >dir helloworld-assembly >>>> >>>> Directory of >>>> C:\Users\karypid\projects\aries\trunk\samples\blueprint\helloworld\helloworld-assembly >>>> >>>> 09/08/2010 20:19 <DIR> . >>>> 09/08/2010 20:19 <DIR> .. >>>> 09/08/2010 18:08 5.531 pom.xml >>>> 09/08/2010 18:08 <DIR> src >>>> 09/08/2010 22:48 <DIR> target >>>> >>>> 2) The tutorial at in its "Running the code" section gives the following >>>> command: >>>> java -jar org.eclipse.osgi_3.5.0.v20090520.jar -console >>>> This should read: >>>> java -jar osgi_3.5.0.v20090520.jar -console >>>> >>>> 3) Finally, the services command to review the registered service: >>>> services >>>> (objectClass=org.apache.aries.blueprint.helloworldapi.HelloWorldService) >>>> should read: >>>> services >>>> (objectClass=org.apache.aries.samples.blueprint.helloworld.api.HelloWorldService) >>>> >>>> Minor stuff, but newcomers would appreciate them. >>>> >>>> Regards, >>>> Alexandros >>>> >>>> On 9/8/2010 22:11, Valentin Mahrwald wrote: >>>>> >>>>> Hi Alexandros, >>>>> >>>>> there does not seem to be too much magic, the config.ini file is >>>>> checked in the src/main/filtered-resources/configuration/config.ini and by >>>>> the looks of it is simply copied into the output directory. >>>>> >>>>> Thanks for reporting this! I have checked in the change under >>>>> ARIES-377. >>>>> >>>>> Regards, >>>>> >>>>> Valentin >>>>> >>>>> >>>>> On 9 Aug 2010, at 18:23, Alexandros Karypidis wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> I've just built the svn trunk >>>>>> (http://incubator.apache.org/aries/buildingaries.html) >>>>>> and am trying the hello word >>>>>> (http://incubator.apache.org/aries/blueprinthelloworldtutorial.html). >>>>>> >>>>>> Got some issues with the example. I'm not familiar with the magic that >>>>>> is used to generate the "config.ini" file for Equinox, but `Maven >>>>>> currently >>>>>> generates the following (incorrect) file: >>>>>> >>>>>> osgi.bundles=\ >>>>>> ... >>>>>> >>>>>> org.apache.aries.samples.helloworld.blueprint.api-0.2-incubating-snapshot....@1,\ >>>>>> >>>>>> org.apache.aries.samples.helloworld.blueprint.server-0.2-incubating-snapshot....@1,\ >>>>>> >>>>>> org.apache.aries.samples.helloworld.blueprint.client-0.2-incubating-snapshot....@1 >>>>>> eclipse.ignoreApp=true >>>>>> org.ops4j.pax.logging.DefaultServiceLog.level=DEBUG >>>>>> >>>>>> In order to run the example, I need modify the file to switch the >>>>>> order of the "helloword" and "blueprint" words: >>>>>> >>>>>> org.apache.aries.samples -- .blueprint.helloworld. -- >>>>>> api-0.2-incubating-snapshot....@1,\ >>>>>> org.apache.aries.samples -- .blueprint.helloworld. -- >>>>>> server-0.2-incubating-snapshot....@1,\ >>>>>> org.apache.aries.samples -- .blueprint.helloworld. -- >>>>>> client-0.2-incubating-snapshot....@1 >>>>>> >>>>>> What wizardry of the build system is responsible for the generation of >>>>>> config.ini and how can I fix this? I'm somewhat familiar with Maven, but >>>>>> the >>>>>> "bundle" packaging and its OSGi-plugins are totally new to me. >>>>>> >>>> >>>> >> >> > >
