Hello all again! The Sonatype Open Source Software maven repository is now available for us and I am uploading a first set of snapshots. I plan to configure the continuous integration server to upload snapshots automatically.
You can examine the contents of the repository at http://oss.sonatype.org/content/repositories/snapshots/org/argouml/. I also added upload of sources so I expect meclipse to be able to download sources automatically when debugging/browsing into a dependency. /Linus 2011/8/19 Linus Tolke Tigris <[email protected]> > Hello all! > > I have now applied for the argouml project to be allowed to publish > snapshots in this open source repository. > > /Linus > > > 2011/8/10 Linus Tolke Tigris <[email protected]> > >> Hello Mark! >> >> I mailed mvnrepository.com in an attempt to understand what the purpose >> and conditions were. >> >> Then I noticed that Sonatype provides a server that allows open source >> projects to publish snapshots (with automatic deletion of old snapshots) ( >> https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide). >> To me this sounds exactly like what we need. >> >> /Linus >> >> >> 2011/8/9 Mark Fortner <[email protected]> >> >>> Hi Linus, >>> I'll take a look at the toppom.xml file. One thing I'm curious about is >>> how to define a minimal checkout. We're currently doing this with the PSF >>> files, but it would be nice if you're a module developer, if you're only >>> checkout was your module, plus an extra pom file. >>> >>> Setting up the maven repo on a different box sounds good. I wonder how >>> difficult it would be to contribute it directly to mvnrepository.com? >>> It's the default repo that most people use for open source projects. >>> >>> Mark >>> >>> >>> >>> On Tue, Aug 9, 2011 at 1:38 PM, Linus Tolke Tigris <[email protected]>wrote: >>> >>>> Hello again Mark! >>>> >>>> My knowledge of maven is limited so I can only guess as to what would be >>>> the best way forward. Please proceed with this if you think this is the >>>> natural way to do it. The items 2 - 5 should go in the toppom.xml since >>>> they >>>> involve several projects. >>>> >>>> The argouml maven2 respository is an SVN based repository. For snapshot >>>> jars I would like to publish them from a repository that is not SVN-based >>>> (to reduce long term disk space usage). Shall I set up a public maven >>>> repository for publishing the snapshot versions on the build host? Could we >>>> do that someplace with more available bandwidth and better up-time? >>>> >>>> /Linus >>>> >>>> >>>> >>>> 2011/8/9 Mark Fortner <[email protected]> >>>> >>>>> Hi Linus, >>>>> It sounds like you've made a lot of progress towards getting the Maven >>>>> build working. Perhaps our next step should be to try and get the an >>>>> installable build working. To do this we'd need to: >>>>> >>>>> 1. Modify the pom's so that they're picking up the resources >>>>> properly and putting them in the jar files. >>>>> 2. Create assemblies that combine the JAR files and the >>>>> dependencies into a single installable zip file. >>>>> 3. Create the webstart build using the WebStart mojo: >>>>> http://mojo.codehaus.org/webstart/webstart-maven-plugin/ >>>>> 4. Create the Mac build using the Mac/Maven mojo: >>>>> http://mojo.codehaus.org/osxappbundle-maven-plugin/ >>>>> >>>>> It might also be worth taking a look at the IzPack mojo. This would >>>>> allow us to generate a cross-platform installer, with support for optional >>>>> module downloads and installs. >>>>> http://izpack.codehaus.org/izpack-maven-plugin/index.html >>>>> >>>>> What do you think? >>>>> >>>>> Mark >>>>> >>>>> >>>>> On Tue, Aug 9, 2011 at 12:19 PM, Linus Tolke Tigris >>>>> <[email protected]>wrote: >>>>> >>>>>> Hello Mark! >>>>>> >>>>>> The work I have done is with almost no maven experience so I will try >>>>>> to understand what you are asking and answer. >>>>>> >>>>>> Let me first describe how it works now. >>>>>> >>>>>> The maven-site job is job with everything. It checks out argouml (and >>>>>> argouml-actionscript3) from trunk and runs maven targets install and site >>>>>> using the file argouml/tools/maven/toppom.xml. This includes running all >>>>>> tests, checkstyle, pmd and findbugs. This also installs the >>>>>> argouml/trunk/pom.xml (argouml-core) in the local repository as a >>>>>> snapshot. >>>>>> >>>>>> The argouml-tools and parentpom jobs just stores their respective poms >>>>>> in the local repository. These poms are used by other jobs. >>>>>> >>>>>> All other maven jobs (argouml-actionscript3, argouml-app, >>>>>> argouml-core-diagrams-activity2, argouml-core-diagrams-class2, >>>>>> argouml-core-diagrams-deployment2, argouml-core-diagrams-sequence2, >>>>>> argouml-core-diagrams-state2, argouml-core-diagrams-structure2, >>>>>> argouml-core-model, argouml-core-model-euml, argouml-core-model-mdr, >>>>>> argouml-core-notation, argouml-core-transformer, and >>>>>> argouml-core-umlpropertypanels) just checks out the specific subproject, >>>>>> fetches libraries from the argouml maven2 repository of released >>>>>> artifacts >>>>>> and fetches poms and newly built snapshot versions of things built by >>>>>> other >>>>>> jobs from the local repository. These uses the install target that runs >>>>>> all >>>>>> tests and installs the resulting jar in the local repository. >>>>>> >>>>>> The Jenkins/Hudson maven plugin has functions that uses the knowledge >>>>>> of things deployed in the local repository to start jobs when >>>>>> dependencies >>>>>> are updated. This can be seen as Upstream projects and Downstream >>>>>> projects >>>>>> on each project. For an example, see >>>>>> http://closettop.homelinux.org:8080/job/argouml-app/. >>>>>> >>>>>> I will now attempt to answer your questions. >>>>>> >>>>>> *How mavenized is the rest of the build currently?* >>>>>> So far my goal has been merely to avoid maintaining tools for the >>>>>> static checks so an update of checkstyle of findbugs will be a simple >>>>>> change >>>>>> in a single file and to use Jenkins reports. >>>>>> * >>>>>> * >>>>>> *Do you build deployable artifacts?* >>>>>> I am not sure. They are not signed, the build host does not have the >>>>>> key, but they are deployed in the local repository on the build host. >>>>>> * >>>>>> >>>>>> * >>>>>> *Do you build JAR files with maven?* >>>>>> Yes, jar files are installed in the local repository and used by other >>>>>> jobs. >>>>>> * >>>>>> * >>>>>> *Do the JAR files contain the manifest file and appropriate META-INF >>>>>> directories?* >>>>>> I am not sure, I don't think so. I have not bothered about this since >>>>>> the jars in the local repository are only used to build and run tests in >>>>>> other maven jobs. >>>>>> * >>>>>> * >>>>>> *Do you build installable artifacts?* >>>>>> No. >>>>>> * >>>>>> * >>>>>> *Does the build include assemblies that contain all of the dependent >>>>>> JARs?* >>>>>> No. >>>>>> * >>>>>> * >>>>>> *Does the build create the webstart artifacts, the Mac DMG, and Linux >>>>>> installs? Have you tried creating RPMs and pkgs for RedHat and Ubuntu >>>>>> respectively?* >>>>>> No. >>>>>> >>>>>> *Do all the projects have at least a minimal pom file and appropriate >>>>>> references to the parent pom? I noticed that argo-core-diagrams-uml2 >>>>>> didn't, but I don't know if this was intentional or not.* >>>>>> No, just the projects mentioned above has poms. My plan is to extend >>>>>> this one project at the time but I also get the feeling that it would be >>>>>> good if this could be reviewed by someone with more maven knowledge, like >>>>>> you, to make sure that this is the right direction. >>>>>> >>>>>> *Do the unit tests run, and do you currently generate a report from >>>>>> the unit tests?* >>>>>> Yes, well, the Jenkins/Hudson has its own reports that also has the >>>>>> time dimensions (to see when a test starts to fail and stops failing) see >>>>>> http://closettop.homelinux.org:8080/job/argouml-app/. >>>>>> >>>>>> The maven-site job also runs the mvaen site target to generate the >>>>>> maven site but I see now that there is no rapport from the JUnit tests >>>>>> while >>>>>> the other reports are there. See here: >>>>>> http://closettop.homelinux.org:8080/job/maven-site/site/argouml-app/project-reports.html >>>>>> >>>>>> *Do you currently deploy the artifacts to a mvn repository (like >>>>>> artifactory) so that if you're doing a build of module you don't have to >>>>>> check out all of the other argouml projects? If it's deployed to a mvn >>>>>> repository, and you do a mvn build, it will download the JARs for >>>>>> argouml-core* and any other dependent projects. This minimizes the >>>>>> download >>>>>> time, and lets people get up and running fairly quickly. >>>>>> * >>>>>> SNAPSHOT jars are only installed in the local repository on the build >>>>>> host so that the other jobs can benefit from this. Other developers >>>>>> cannot >>>>>> currently benefit from these builds. >>>>>> >>>>>> The java-interfaces jar should be build as a SNAPSHOT and installed in >>>>>> the local repository by a job but I have not dared to run the mdr >>>>>> generation >>>>>> from maven. Instead java-interfaces jar is treated as an external library >>>>>> and taken from the argouml maven2 repository. The antlr builds, I have >>>>>> not >>>>>> dared to address either. >>>>>> >>>>>> In an attempt not to confuse things I have confused things by using >>>>>> different version numbers for the maven-builds SNAPSHOT jars and for the >>>>>> development and stable builds. The maven-builds are only at 0.2. I have >>>>>> attempted to state this version number in as few places as possible. I >>>>>> found >>>>>> a maven discussion post with some pointers to do this. >>>>>> >>>>>> /Linus >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> 2011/8/9 Mark Fortner <[email protected]> >>>>>> >>>>>>> Hi Linus, >>>>>>> How mavenized is the rest of the build currently? >>>>>>> >>>>>>> - Do you build deployable artifacts? >>>>>>> - Do you build JAR files with maven? >>>>>>> - Do the JAR files contain the manifest file and appropriate >>>>>>> META-INF directories? >>>>>>> - Do you build installable artifacts? >>>>>>> - Does the build include assemblies that contain all of the >>>>>>> dependent JARs? >>>>>>> - Does the build create the webstart artifacts, the Mac DMG, >>>>>>> and Linux installs? Have you tried creating RPMs and pkgs for >>>>>>> RedHat and >>>>>>> Ubuntu respectively? >>>>>>> - Do all the projects have at least a minimal pom file and >>>>>>> appropriate references to the parent pom? I noticed that >>>>>>> argo-core-diagrams-uml2 didn't, but I don't know if this was >>>>>>> intentional or >>>>>>> not. >>>>>>> - Do the unit tests run, and do you currently generate a report >>>>>>> from the unit tests? >>>>>>> - Do you currently deploy the artifacts to a mvn repository (like >>>>>>> artifactory) so that if you're doing a build of module you don't >>>>>>> have to >>>>>>> check out all of the other argouml projects? If it's deployed to a >>>>>>> mvn >>>>>>> repository, and you do a mvn build, it will download the JARs for >>>>>>> argouml-core* and any other dependent projects. This minimizes the >>>>>>> download >>>>>>> time, and lets people get up and running fairly quickly. >>>>>>> >>>>>>> Mark >>>>>>> >>>>>>> >>>>>>> On Fri, Jul 15, 2011 at 4:36 PM, Linus Tolke Tigris < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Hello again Mark! >>>>>>>> >>>>>>>> I think I have solved the checksum problem now. I still get errors >>>>>>>> that the poms are invalid though. I don't understand that problem. >>>>>>>> >>>>>>>> /Linus >>>>>>>> >>>>>>>> >>>>>>>> 2011/7/16 Mark Fortner <[email protected]> >>>>>>>> >>>>>>>>> Hi Linus, >>>>>>>>> When I do a build, I get messages like this: >>>>>>>>> >>>>>>>>> [WARNING] *** CHECKSUM FAILED - Error retrieving checksum file for >>>>>>>>> org/argouml/argouml-mdr/0.32/argouml-mdr-0.32.jar - IGNORING >>>>>>>>> >>>>>>>>> [WARNING] *** CHECKSUM FAILED - Error retrieving checksum file for >>>>>>>>> org/netbeans/mdr/nbmdr/0.0-5/nbmdr-0.0-5.jar - IGNORING >>>>>>>>> >>>>>>>>> [WARNING] *** CHECKSUM FAILED - Error retrieving checksum file for >>>>>>>>> org/argouml/argouml-mdr/0.32/argouml-mdr-0.32.pom - IGNORING >>>>>>>>> [WARNING] POM for 'org.argouml:argouml-mdr:pom:0.32:test' is >>>>>>>>> invalid. >>>>>>>>> >>>>>>>>> Its dependencies (if any) will NOT be available to the current >>>>>>>>> build. >>>>>>>>> [WARNING] POM for 'org.argouml:java-interfaces:pom:0.32:test' is >>>>>>>>> invalid. >>>>>>>>> >>>>>>>>> >>>>>>>>> And a few like this: >>>>>>>>> >>>>>>>>> Downloading: >>>>>>>>> http://argouml-downloads.tigris.org/maven2/org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom >>>>>>>>> [INFO] Unable to find resource >>>>>>>>> 'org.codehaus.plexus:plexus-containers:pom:1.0-alpha-16' in repository >>>>>>>>> argouml (http://argouml-downloads.tigris.org/maven2) >>>>>>>>> Downloading: >>>>>>>>> http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom >>>>>>>>> >>>>>>>>> >>>>>>>>> The project still builds properly though. >>>>>>>>> >>>>>>>>> Mark >>>>>>>>> >>>>>>>>> >>>>>>>>> On Fri, Jul 15, 2011 at 2:52 PM, Linus Tolke Tigris < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> Hello Mark! >>>>>>>>>> >>>>>>>>>> I think I have understood how to synchronize the version numbers >>>>>>>>>> throughout the maven pom files. It is, however, not synchronized >>>>>>>>>> with the >>>>>>>>>> version numbers of the stable and development builds. >>>>>>>>>> >>>>>>>>>> What are the old versions you are referring to? I find the >>>>>>>>>> java-interfaces jar. Is that the one? >>>>>>>>>> >>>>>>>>>> The maven build uses only tools downloaded from maven (with >>>>>>>>>> version specified in the parentpom.xml). No ant files or property >>>>>>>>>> files are >>>>>>>>>> used so the pom files constitute a complete set of configuration >>>>>>>>>> files. As >>>>>>>>>> you can see I have managed to get it to build in the Hudson server. >>>>>>>>>> What is >>>>>>>>>> it that is not working for you? >>>>>>>>>> >>>>>>>>>> /Linus >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> 2011/7/15 Mark Fortner <[email protected]> >>>>>>>>>> >>>>>>>>>>> Hi Linus, >>>>>>>>>>> Now that you have the new build machine setup, have you made any >>>>>>>>>>> progress with updating the maven pom files? There still seem to be >>>>>>>>>>> a lot of >>>>>>>>>>> references to an old mvn repo, where it tries to download outdated >>>>>>>>>>> artifacts. I did a checkout recently to setup a new machine with >>>>>>>>>>> argouml and >>>>>>>>>>> I'd forgotten how painful it is to get a argouml into a buildable >>>>>>>>>>> state. >>>>>>>>>>> Not to mention the fact that there's a dissertation, and a whole >>>>>>>>>>> lot of >>>>>>>>>>> tools checked into the svn repo. >>>>>>>>>>> >>>>>>>>>>> Regards, >>>>>>>>>>> >>>>>>>>>>> Mark >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Sun, Jun 5, 2011 at 5:54 AM, Linus Tolke Tigris < >>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>>> Hello all! >>>>>>>>>>>> >>>>>>>>>>>> I have now replaced the old host running the continuous >>>>>>>>>>>> integration and nightly build with a new one. It is a P4 Dual >>>>>>>>>>>> 2.6GHz with >>>>>>>>>>>> 2GB memory instead of a P2 400MHz with 512M, Ubuntu instead of >>>>>>>>>>>> Debian and >>>>>>>>>>>> Jenkins instead of Hudson. Everything is a lot quicker. >>>>>>>>>>>> >>>>>>>>>>>> /Linus >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>> >>>>> >>>> >>> >> > ------------------------------------------------------ http://argouml.tigris.org/ds/viewMessage.do?dsForumId=450&dsMessageId=2826053 To unsubscribe from this discussion, e-mail: [[email protected]]. To be allowed to post to the list contact the mailing list moderator, email: [[email protected]]
