Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

  1. make up a group id (usually com.whateverthevendornameis) and artifactid (e.g my3rdpartycomponent)
  2. Wiki Markuprename the jar file to \ [artifactid]-\[version].jar
  3. Wiki Markupcreate a jar file containing the source files, if available, and call it \ [artifactid]\-\[version]-sources.jar. This step is optional but STRONGLY recommended.
  4. create a pom file (pom.xml) with the correct groupId and artifactId. This file should also contain any dependencies to jar files used by the component. If these components are in the standard maven repositories, use those dependencies. Otherwise repeat this process for each dependent component.
  5. Wiki Markupprovide your MIT Maven Repository Admin with the pom.xml, \ [artifactid]\-\[version].jar and optional \ [artifactid]-\[version]-sources.jar and request they add that to the appropriate MIT Maven Repository for your group.

Once this is done, add your dependency to pom.xml as described in "Declaring dependencies on 3rd Party components - the easy way".

...

  1. Moves will check out the trunk source of the component/application from subversion
  2. Moves will parse the pom.xml to see if any dependency ranges are found. Moves will assume these dependency ranges are themselves MIT components.
  3. For each component found, moves will check out that component and recursively perform this set of steps.
  4. Moves will present you with a build page. For each component you will be given the option of performing a new build, or using an existing release
  5. Moves will take your input and use that to create a branch. The project version in the branch will be the same as the version in trunk, with the "-SNAPSHOT" suffix removed. Thus if your project is at version 2.1.5-SNAPSHOT, the branch version will be 2.1.5.
  6. Moves will increment the version in trunk. In our example above, the project version in trunk will become 2.1.6-SNAPSHOT.
  7. Moves will replace the dependency ranges in the branch with the versions that were calculated based on your selections. These can be previously released versions, or if you elected to release a new component, it will be the version of the component which will be released as part of this build.
  8. Moves will build each component for which you selected to build a new release
  9. Moves will build your top level component/application
  10. Moves will release each component/application that has been built to the MIT Maven repository
  11. Moves will commit the trunk changes (i.e. the incremented SNAPSHOT version) for each component/application that has been built
  12. Wiki MarkupMoves will commit the branch changes for each released component (i.e the release version, and resolved dependency ranges) to the \ [subversion url]/tags/releases/\[version] tag Wiki MarkupMoves
  13. will copy the working branches for each released component to the \Moves will copy the working branches for each released component to the [component's subversion url]/tags/releases/\[version] tag
  14. Moves will remove the working branches for each released component

...

  1. Each released component will exist in the MIT Maven repositoryunmigrated-wiki-markup
  2. A tag containing the source code for each released component will exist in \ [component's subversion url]/tags/releases/\[version] tag. The pom.xml file's version element in that tag will have the release version, and any dependency ranges in that tag will have been replaced with the version of that component that was used in the release
  3. Wiki MarkupFor each released component, the \ [component's subversion url]/trunk/pom.xml file's version element will have been incremented.

Creating a branch

Moves provides a facility for creating branches. If you need to branch a project, and if that project might have a release associated with it, then you should use Moves to create a branch.

...

  1. Use moves to create a branch of example-web-app version 2.5.3. (This will become version 2.5.3b1.0-SNAPSHOT)
  2. Use moves to create a branch of sais-common component version 3.1.5. (This will become version 3.1.5b1.0-SNAPSHOT)
  3. Wiki MarkupCheck out the example-web-app branch code (from \ [example-web-app-svn-url]/branches/releases/2.5.3b1).
  4. Wiki MarkupCheck out the sais-common branch code (from \ [sais-common-svn-url]/branches/releases/3.1.5b1).
  5. edit the sais-common dependency in example-web-app's pom.xml, so that
    Code Block
    langxml
    titleRange dependency example
    From:
    <dependency>
        <groupId>edu.mit.ist.es.common</groupId>
        <artifactId>sais-common</artifactId>
        <version>3.1.5</version>
    </dependency>
    To:
    <dependency>
        <groupId>edu.mit.ist.es.common</groupId>
        <artifactId>sais-common</artifactId>
        <version>[3.1.5b1.0, 3.1.5b1.999)</version>
    </dependency>
    

...