1717from typing import Any , Dict , List , Union , Tuple , Optional
1818from urllib import request
1919
20- SUB_VERSION = 2
21- RELEASE_NOTES = """- Fixed the library version in the pom #3 again (thanks to @gavlyukovskiy, @dpsoft and @krzysztofslusarski for spotting the bug )"""
20+ SUB_VERSION = 3
21+ RELEASE_NOTES = """- Create specific artifacts for each platform fixing previous issues with maven version updates (issue #4, thanks @ginkel for reporting it )"""
2222
2323HELP = """
2424Usage:
@@ -49,14 +49,16 @@ def prepare_poms(release: str, platform: str, snapshot: bool = True) -> Tuple[st
4949 """ Prepare the POMs for the given release and platform """
5050 folder = CURRENT_DIR
5151 os .makedirs (folder , exist_ok = True )
52- suffix = f"-{ release } - { platform } { '-SNAPSHOT' if snapshot else '' } "
52+ suffix = f"-{ release } { '-SNAPSHOT' if snapshot else '' } "
5353 for pom in ["pom" , "pom_all" ]:
5454 pom_file = f"{ CURRENT_DIR } /{ pom } .xml"
5555 dest_pom = f"{ folder } /{ pom } { suffix } .xml"
5656 with open (pom_file ) as f :
5757 pom_content = f .read ()
5858 p_suffix = "-SNAPSHOT" if snapshot else ""
59- pom_content = re .sub (r"<version>.*</version>" , f"<version>{ release } -{ SUB_VERSION } -{ platform } { p_suffix } </version>" , pom_content , count = 1 )
59+ pom_content = re .sub (r"<version>.*</version>" , f"<version>{ release } -{ SUB_VERSION } { p_suffix } </version>" , pom_content , count = 1 )
60+ pom_content = pom_content .replace ("${project.platform}" , platform )
61+ pom_content = pom_content .replace ("${project.artifactId}" , f"ap-loader-{ platform } " )
6062 pom_content = re .sub (r"<project.vversion>.*</project.vversion>" , f"<project.vversion>{ release } </project.vversion>" , pom_content , count = 1 )
6163 pom_content = re .sub (r"<project.subversion>.*</project.subversion>" , f"<project.subversion>{ SUB_VERSION } </project.subversion>" , pom_content , count = 1 )
6264 pom_content = re .sub (r"<project.platform>.*</project.platform>" , f"<project.platform>{ platform } </project.platform>" , pom_content , count = 1 )
@@ -175,7 +177,7 @@ def download_release(release: str):
175177
176178
177179def release_target_file (release : str , platform : str ):
178- return f"{ CURRENT_DIR } /releases/ap-loader-{ release } -{ SUB_VERSION } -{ platform } .jar"
180+ return f"{ CURRENT_DIR } /releases/ap-loader-{ platform } -{ release } -{ SUB_VERSION } .jar"
179181
180182
181183def build_release (release : str ):
@@ -184,15 +186,15 @@ def build_release(release: str):
184186 os .makedirs (release_folder , exist_ok = True )
185187 download_release (release )
186188 for platform in get_release_platforms (release ):
187- release_file = f"ap-loader-{ release } -{ SUB_VERSION } -{ platform } -full.jar"
188- dest_release_file = f"{ release_folder } /ap-loader-{ release } -{ SUB_VERSION } -{ platform } .jar"
189+ release_file = f"ap-loader-{ platform } -{ release } -{ SUB_VERSION } -full.jar"
190+ dest_release_file = f"{ release_folder } /ap-loader-{ platform } -{ release } -{ SUB_VERSION } .jar"
189191 print (f"Build release for { platform } " )
190- execute (f"mvn -Dproject.vversion={ release } -Dproject.subversion={ SUB_VERSION } -Dproject.platform={ platform } package assembly:single" )
192+ execute (f"mvn -Duser.name='' - Dproject.vversion={ release } -Dproject.subversion={ SUB_VERSION } -Dproject.platform={ platform } package assembly:single" )
191193 shutil .copy (f"{ CURRENT_DIR } /target/{ release_file } " , dest_release_file )
192194 all_target = release_target_file (release , "all" )
193195 print ("Build release for all" )
194- execute (f"mvn -Dproject.vversion={ release } -Dproject.subversion={ SUB_VERSION } -Dproject.platform=all package assembly:single -f pom_all.xml" )
195- shutil .copy (f"{ CURRENT_DIR } /target/ap-loader-{ release } -{ SUB_VERSION } -all -full.jar" , all_target )
196+ execute (f"mvn -Duser.name='' - Dproject.vversion={ release } -Dproject.subversion={ SUB_VERSION } -Dproject.platform=all package assembly:single -f pom_all.xml" )
197+ shutil .copy (f"{ CURRENT_DIR } /target/ap-loader-all- { release } -{ SUB_VERSION } -full.jar" , all_target )
196198
197199
198200def build_tests (release : str ):
@@ -310,7 +312,7 @@ def deploy_maven_platform(release: str, platform: str, snapshot: bool):
310312 print (f"Deploy { release } -{ SUB_VERSION } for { platform } to maven" )
311313 with PreparedPOMs (release , platform , snapshot ) as poms :
312314 pom = poms .pom_all if platform == "all" else poms .pom
313- cmd = f"mvn -Dproject.vversion={ release } -Dproject.subversion={ SUB_VERSION } -Dproject.platform={ platform } " \
315+ cmd = f"mvn -Duser.name='' - Dproject.vversion={ release } -Dproject.subversion={ SUB_VERSION } -Dproject.platform={ platform } " \
314316 f"-Dproject.suffix='{ '-SNAPSHOT' if snapshot else '' } ' -f { pom } clean deploy"
315317 try :
316318 subprocess .check_call (cmd , shell = True , cwd = CURRENT_DIR , stdout = subprocess .DEVNULL ,
@@ -343,7 +345,7 @@ def deploy_github(release: str):
343345 title = f"Loader for { release } (v{ SUB_VERSION } ): { get_release (release )['name' ]} "
344346 prerelease = get_release (release )["prerelease" ]
345347 print (f"Deploy { release } -{ SUB_VERSION } ({ title } ) to GitHub" )
346- if not os .path .exists (f"{ CURRENT_DIR } /releases/ap-loader-{ release } -{ SUB_VERSION } -all .jar" ):
348+ if not os .path .exists (f"{ CURRENT_DIR } /releases/ap-loader-all- { release } -{ SUB_VERSION } .jar" ):
347349 build_release (release )
348350 with tempfile .TemporaryDirectory () as d :
349351 changelog_file = f"{ d } /CHANGELOG.md"
@@ -354,7 +356,7 @@ def deploy_github(release: str):
354356 platform_paths = []
355357 for platform in get_release_platforms (release ) + ["all" ]:
356358 path = f"{ d } /ap-loader-{ platform } .jar"
357- shutil .copy (f"{ releases_dir } /ap-loader-{ release } -{ SUB_VERSION } -{ platform } .jar" , path )
359+ shutil .copy (f"{ releases_dir } /ap-loader-{ platform } -{ release } -{ SUB_VERSION } .jar" , path )
358360 platform_paths .append (path )
359361
360362 flags_str = f"-F { changelog_file } -t '{ title } ' { '--latest' if is_latest else '' } " \
0 commit comments