66import os
77from subprocess import run
88
9- if len (sys .argv ) != 2 :
10- print ("Usage:\n <nameOfScript>.py <version-number>" )
9+ if len (sys .argv ) != 3 :
10+ print ("Usage:\n <nameOfScript>.py wfd|em <version-number>" )
1111 exit (1 )
1212
13- version = sys .argv [1 ].strip ()
13+ target = sys .argv [1 ].strip ()
14+
15+ if target != "wfd" & & target != "em" :
16+ println ("Invalid target: " + target + ". Only accepted 'wfd' and 'em' as valid targets" )
17+ exit (1 )
18+
19+ version = sys .argv [2 ].strip ()
1420
1521versionRegex = re .compile (r"^(\d)+\.(\d)+\.(\d)+(-SNAPSHOT)?$" )
1622
3339 exit (1 )
3440
3541JAVA_HOME_17 = os .environ .get ('JAVA_HOME_17' , '' )
36- if JAVA_HOME_11 == '' :
42+ if JAVA_HOME_17 == '' :
3743 print ("\n ERROR: JAVA_HOME_17 environment variable is not defined" )
3844 exit (1 )
3945
46+ JAVA_HOME_21 = os .environ .get ('JAVA_HOME_21' , '' )
47+ if JAVA_HOME_21 == '' :
48+ print ("\n ERROR: JAVA_HOME_21 environment variable is not defined" )
49+ exit (1 )
4050
4151
4252SHELL = platform .system () == 'Windows'
@@ -87,52 +97,57 @@ def versionSetMaven(folder, jdk_home):
8797 exit (1 )
8898
8999
90- def replaceInJS (folder ):
91- regex = re .compile (r'\s*"evomaster-client-js"\s*:.*' )
92- replacement = ""
93- if version .endswith ("-SNAPSHOT" ):
94- replacement = " \" evomaster-client-js\" : \" file:../../evomaster-client-js\" ,\n "
95- else :
96- replacement = " \" evomaster-client-js\" : \" " + version + "\" ,\n "
97- replace (PROJ_LOCATION + folder + "/package.json" , regex , replacement )
98-
99- # Note: as we need to update the lock files, then we have to make an install
100- res = run (["npm" , "i" ], shell = SHELL , cwd = PROJ_LOCATION + folder )
101- res = res .returncode
102-
103- if res != 0 :
104- print ("\n ERROR: 'npm i' command failed" )
105- exit (1 )
106-
107- def replaceAllJs ():
108- replaceInJS ("/js_npm/rest/cyclotron" )
109- replaceInJS ("/js_npm/rest/disease-sh-api" )
110- replaceInJS ("/js_npm/rest/ncs" )
111- replaceInJS ("/js_npm/rest/realworld-app" )
112- replaceInJS ("/js_npm/rest/scs" )
113- replaceInJS ("/js_npm/rest/spacex-api" )
114-
115- def replaceInCS ():
116- regex = re .compile (r'\s*<PackageReference\s+Include="EvoMaster.Controller"\s+Version=".*"\s+/>\s*' )
117- replacement = ' <PackageReference Include="EvoMaster.Controller" Version="' + version + '" />\n '
118- replace ("dotnet_3/em/common.props" , regex , replacement )
100+ # def replaceInJS(folder):
101+ # regex = re.compile(r'\s*"evomaster-client-js"\s*:.*')
102+ # replacement = ""
103+ # if version.endswith("-SNAPSHOT"):
104+ # replacement = " \"evomaster-client-js\": \"file:../../evomaster-client-js\",\n"
105+ # else:
106+ # replacement = " \"evomaster-client-js\": \""+version+"\",\n"
107+ # replace(PROJ_LOCATION+folder+"/package.json", regex, replacement)
108+ #
109+ # # Note: as we need to update the lock files, then we have to make an install
110+ # res = run(["npm", "i"], shell=SHELL, cwd=PROJ_LOCATION+folder)
111+ # res = res.returncode
112+ #
113+ # if res != 0:
114+ # print("\nERROR: 'npm i' command failed")
115+ # exit(1)
116+ #
117+ # def replaceAllJs():
118+ # replaceInJS("/js_npm/rest/cyclotron")
119+ # replaceInJS("/js_npm/rest/disease-sh-api")
120+ # replaceInJS("/js_npm/rest/ncs")
121+ # replaceInJS("/js_npm/rest/realworld-app")
122+ # replaceInJS("/js_npm/rest/scs")
123+ # replaceInJS("/js_npm/rest/spacex-api")
124+ #
125+ # def replaceInCS():
126+ # regex = re.compile(r'\s*<PackageReference\s+Include="EvoMaster.Controller"\s+Version=".*"\s+/>\s*')
127+ # replacement = ' <PackageReference Include="EvoMaster.Controller" Version="'+version+'" />\n'
128+ # replace("dotnet_3/em/common.props", regex, replacement)
119129
120130
121131######################################################################################################
122132
123- replaceInPom ("jdk_8_maven/pom.xml" )
124- replaceInPom ("jdk_11_maven/pom.xml" )
125- replaceInPom ("jdk_17_maven/pom.xml" )
133+ if target == "em" :
134+ replaceInPom ("jdk_8_maven/pom.xml" )
135+ replaceInPom ("jdk_11_maven/pom.xml" )
136+ replaceInPom ("jdk_17_maven/pom.xml" )
137+ replaceInPom ("jdk_21_maven/pom.xml" )
126138
127- replaceInGradle ("jdk_17_gradle/build.gradle" )
128- replaceInGradle ("jdk_11_gradle/build.gradle" )
139+ replaceInGradle ("jdk_8_gradle/build.gradle" )
140+ replaceInGradle ("jdk_11_gradle/build.gradle" )
141+ replaceInGradle ("jdk_17_gradle/build.gradle" )
129142
130- replaceInDist ()
143+ replaceInDist ()
131144
132- versionSetMaven ("/jdk_8_maven" ,JAVA_HOME_8 )
133- versionSetMaven ("/jdk_11_maven" ,JAVA_HOME_11 )
134- versionSetMaven ("/jdk_17_maven" ,JAVA_HOME_17 )
145+ if target == "wfd" :
146+ versionSetMaven ("/jdk_8_maven" ,JAVA_HOME_8 )
147+ versionSetMaven ("/jdk_11_maven" ,JAVA_HOME_11 )
148+ versionSetMaven ("/jdk_17_maven" ,JAVA_HOME_17 )
149+ versionSetMaven ("/jdk_21_maven" ,JAVA_HOME_21 )
135150
136- # We no longer support those in EMB... not enough resouces . although might change in future
151+ # We no longer support those in EMB... not enough resources . although might change in future
137152#replaceAllJs()
138153#replaceInCS()
0 commit comments