17
17
from typing import Any , Dict , List , Union , Tuple , Optional
18
18
from urllib import request
19
19
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 )"""
22
22
23
23
HELP = """
24
24
Usage:
@@ -49,14 +49,16 @@ def prepare_poms(release: str, platform: str, snapshot: bool = True) -> Tuple[st
49
49
""" Prepare the POMs for the given release and platform """
50
50
folder = CURRENT_DIR
51
51
os .makedirs (folder , exist_ok = True )
52
- suffix = f"-{ release } - { platform } { '-SNAPSHOT' if snapshot else '' } "
52
+ suffix = f"-{ release } { '-SNAPSHOT' if snapshot else '' } "
53
53
for pom in ["pom" , "pom_all" ]:
54
54
pom_file = f"{ CURRENT_DIR } /{ pom } .xml"
55
55
dest_pom = f"{ folder } /{ pom } { suffix } .xml"
56
56
with open (pom_file ) as f :
57
57
pom_content = f .read ()
58
58
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 } " )
60
62
pom_content = re .sub (r"<project.vversion>.*</project.vversion>" , f"<project.vversion>{ release } </project.vversion>" , pom_content , count = 1 )
61
63
pom_content = re .sub (r"<project.subversion>.*</project.subversion>" , f"<project.subversion>{ SUB_VERSION } </project.subversion>" , pom_content , count = 1 )
62
64
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):
175
177
176
178
177
179
def 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"
179
181
180
182
181
183
def build_release (release : str ):
@@ -184,15 +186,15 @@ def build_release(release: str):
184
186
os .makedirs (release_folder , exist_ok = True )
185
187
download_release (release )
186
188
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"
189
191
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" )
191
193
shutil .copy (f"{ CURRENT_DIR } /target/{ release_file } " , dest_release_file )
192
194
all_target = release_target_file (release , "all" )
193
195
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 )
196
198
197
199
198
200
def build_tests (release : str ):
@@ -310,7 +312,7 @@ def deploy_maven_platform(release: str, platform: str, snapshot: bool):
310
312
print (f"Deploy { release } -{ SUB_VERSION } for { platform } to maven" )
311
313
with PreparedPOMs (release , platform , snapshot ) as poms :
312
314
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 } " \
314
316
f"-Dproject.suffix='{ '-SNAPSHOT' if snapshot else '' } ' -f { pom } clean deploy"
315
317
try :
316
318
subprocess .check_call (cmd , shell = True , cwd = CURRENT_DIR , stdout = subprocess .DEVNULL ,
@@ -343,7 +345,7 @@ def deploy_github(release: str):
343
345
title = f"Loader for { release } (v{ SUB_VERSION } ): { get_release (release )['name' ]} "
344
346
prerelease = get_release (release )["prerelease" ]
345
347
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" ):
347
349
build_release (release )
348
350
with tempfile .TemporaryDirectory () as d :
349
351
changelog_file = f"{ d } /CHANGELOG.md"
@@ -354,7 +356,7 @@ def deploy_github(release: str):
354
356
platform_paths = []
355
357
for platform in get_release_platforms (release ) + ["all" ]:
356
358
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 )
358
360
platform_paths .append (path )
359
361
360
362
flags_str = f"-F { changelog_file } -t '{ title } ' { '--latest' if is_latest else '' } " \
0 commit comments