|  | #!/usr/bin/python | 
|  | # | 
|  | # prints a release.properties file for instructing the Maven Release Plugin | 
|  | # to generate the proper release artefacts without having to manually version | 
|  | # everything. | 
|  | # | 
|  | # Usage: | 
|  | # | 
|  | #     build-versions.py <release-version> <dev-version> | 
|  | # | 
|  | # This will generate a release.properties file that will release the | 
|  | # release-version, and will continue development on dev-version. | 
|  | # | 
|  | # Example: | 
|  | # | 
|  | #    build-milestone.py 7.0.0-M1 7.0.0-SNAPSHOT | 
|  | # | 
|  |  | 
|  | import sys | 
|  | from xml.dom.minidom import parse | 
|  |  | 
|  | groupId = "org.apache.wicket" | 
|  |  | 
|  | if len(sys.argv) != 3: | 
|  | print "Usage: %s <release-version> <dev-version>" % sys.argv[0] | 
|  | sys.exit(1) | 
|  |  | 
|  | relVersion = sys.argv[1] | 
|  | devVersion = sys.argv[2] | 
|  |  | 
|  | relVersions = [] | 
|  | devVersions = [] | 
|  |  | 
|  | def addVersions(groupId, module): | 
|  | relVersions.append("project.rel." + groupId + "\\:" + module + "=" + relVersion) | 
|  | devVersions.append("project.dev." + groupId + "\\:" + module + "=" + devVersion) | 
|  |  | 
|  | def getModulesFromParent(parentPomFile): | 
|  | pom = parse(parentPomFile) | 
|  |  | 
|  | for moduleTag in pom.getElementsByTagName('module'): | 
|  | module = moduleTag.childNodes[0].nodeValue.replace("testing/", "").replace("archetypes/quickstart", "wicket-archetype-quickstart") | 
|  | addVersions(groupId, module) | 
|  |  | 
|  | addVersions(groupId, "wicket-parent") | 
|  | addVersions("org.apache.wicket.experimental.wicket8", "wicket-experimental") | 
|  |  | 
|  | getModulesFromParent("pom.xml") | 
|  | getModulesFromParent("wicket-native-websocket/pom.xml") | 
|  |  | 
|  | for version in relVersions: | 
|  | print version | 
|  |  | 
|  | print | 
|  |  | 
|  | for version in devVersions: | 
|  | print version |