You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[Build] Rename library files if native sources of platform are unchanged
Rust rename the SWT native binary files for unchanged platforms to the
new version and only build those whose native sources really changed.
Avoiding a rebuild of effectively unchanged binaries has multiple
advantages, if only a sub-set of all supported platforms is build:
- reduced build times
- reduced occupation of precious native agents in Jenkins
- increased stability of the build because if a native build-agent
for a skipped platforms is unavailable the build isn't blocked.
- reduced future growth of the git large-file storage occupation as
renaming a binary file has basically zero-cost, while a modified binary
(even if just slightly) will add the entire file again.
/** Returns the download URL of the JDK against whoose C headers (in the 'include/' folder) and native libraries the SWT natives are compiled.*/
46
-
defgetNativeJdkUrl(Stringos, Stringarch){ // To update the used JDK version update the URL template below
45
+
/** Returns the download URL of the JDK against whose C headers (in the 'include/' folder) and native libraries the SWT natives are compiled.*/
46
+
defgetNativeJdkUrl(Stringos, Stringarch){ // To update the used JDK version update the URL template below
47
47
if('win32'.equals(os) &&'aarch64'.equals(arch)) {
48
48
// Temporary workaround until there are official Temurin GA releases for Windows on ARM that can be consumed through JustJ
49
49
dir("${WORKSPACE}/repackage-win32.aarch64-jdk") {
@@ -82,7 +82,7 @@ def getSWTVersions() { // must be called from the repository root
82
82
return props
83
83
}
84
84
85
-
booleanNATIVES_CHANGED=false
85
+
defSetNATIVES_CHANGED=[]
86
86
87
87
pipeline {
88
88
options {
@@ -103,7 +103,9 @@ pipeline {
103
103
PR_VALIDATION_BUILD="true"
104
104
}
105
105
parameters {
106
-
booleanParam(name: 'forceNativeBuilds', defaultValue: false, description: 'Forces to run the native builds of swt\'s binaries. Will push the built binaries to the master branch, unless \'skipCommit\' is set. Useful in debugging.')
106
+
booleanParam(name: 'forceNativeBuilds-cocoa', defaultValue: false, description: 'Enforce a re-build of SWT\'s native binaries for Mac OS X. Will push the built binaries to the master branch, unless \'skipCommit\' is set.')
107
+
booleanParam(name: 'forceNativeBuilds-gtk', defaultValue: false, description: 'Enforce a re-build of SWT\'s native binaries for Linux. Will push the built binaries to the master branch, unless \'skipCommit\' is set.')
108
+
booleanParam(name: 'forceNativeBuilds-win32', defaultValue: false, description: 'Enforce a re-build of SWT\'s native binaries for Windows. Will push the built binaries to the master branch, unless \'skipCommit\' is set.')
107
109
booleanParam(name: 'skipCommit', defaultValue: false, description: 'Stops committing to swt and swt binaries repo at the end. Useful in debugging.')
0 commit comments