From 278ee8c5d9bd46d6b1d651f6d7e048e7eaf66eba Mon Sep 17 00:00:00 2001 From: Francisco Javier Fernandez Gonzalez Date: Thu, 23 Nov 2017 11:40:34 +0100 Subject: [PATCH 1/3] [JENKINS-48194] Reverting binary incompatibility --- .../plugins/msbuild/MsBuildBuilder.java | 18 ++++++++++++++++++ .../plugins/msbuild/MsBuildBuilderTest.java | 18 ++++++++++++++++++ .../newMsBuildBuilderTest.zip | Bin 0 -> 2522 bytes 3 files changed, 36 insertions(+) create mode 100644 src/test/resources/hudson/plugins/msbuild/MsBuildBuilderTest/newMsBuildBuilderTest.zip diff --git a/src/main/java/hudson/plugins/msbuild/MsBuildBuilder.java b/src/main/java/hudson/plugins/msbuild/MsBuildBuilder.java index ee12f15..9a82c02 100644 --- a/src/main/java/hudson/plugins/msbuild/MsBuildBuilder.java +++ b/src/main/java/hudson/plugins/msbuild/MsBuildBuilder.java @@ -54,6 +54,24 @@ public class MsBuildBuilder extends Builder { private final boolean unstableIfWarnings; private final boolean doNotUseChcpCommand; + /** + * When this builder is created in the project configuration step, + * the builder object will be created from the strings below. + * + * @param msBuildName The Visual Studio logical name + * @param msBuildFile The name/location of the MSBuild file + * @param cmdLineArgs Whitespace separated list of command line arguments + * @param buildVariablesAsProperties If true, pass build variables as properties to MSBuild + * @param continueOnBuildFailure If true, job will continue dispite of MSBuild build failure + * @param unstableIfWarnings If true, job will be unstable if there are warnings + */ + @Deprecated + @SuppressWarnings("unused") + public MsBuildBuilder(String msBuildName, String msBuildFile, String cmdLineArgs, boolean buildVariablesAsProperties, boolean continueOnBuildFailure, boolean unstableIfWarnings) { + // By default, doNotUseChcpCommand=false + this(msBuildName, msBuildFile, cmdLineArgs, buildVariablesAsProperties, continueOnBuildFailure, unstableIfWarnings, false); + } + /** * When this builder is created in the project configuration step, * the builder object will be created from the strings below. diff --git a/src/test/java/hudson/plugins/msbuild/MsBuildBuilderTest.java b/src/test/java/hudson/plugins/msbuild/MsBuildBuilderTest.java index 5c85640..323c250 100644 --- a/src/test/java/hudson/plugins/msbuild/MsBuildBuilderTest.java +++ b/src/test/java/hudson/plugins/msbuild/MsBuildBuilderTest.java @@ -1,6 +1,10 @@ package hudson.plugins.msbuild; +import hudson.model.FreeStyleProject; +import org.junit.Rule; import org.junit.Test; +import org.jvnet.hudson.test.JenkinsRule; +import org.jvnet.hudson.test.recipes.LocalData; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; @@ -10,6 +14,9 @@ */ public class MsBuildBuilderTest { + @Rule + public JenkinsRule r = new JenkinsRule(); + @Test public void shouldStripQuotedArguments() { final String quotedPlatform = "/p:Platform=\"Any CPU\""; @@ -40,4 +47,15 @@ public void endEscapedCharacter() { assertEquals(oneArgumentsWithEndBackslash, tokenizedArgs[0]); } + @Test + @LocalData + public void configRoundtrip() { + try { + FreeStyleProject p = (FreeStyleProject)r.jenkins.getAllItems().get(0); + r.configRoundtrip(p); + } catch (Exception e) { + throw new AssertionError("Not valid configuration for MsBuild"); + } + } + } diff --git a/src/test/resources/hudson/plugins/msbuild/MsBuildBuilderTest/newMsBuildBuilderTest.zip b/src/test/resources/hudson/plugins/msbuild/MsBuildBuilderTest/newMsBuildBuilderTest.zip new file mode 100644 index 0000000000000000000000000000000000000000..b81ee3610c721ba22446c1d0d3f65cda109248ba GIT binary patch literal 2522 zcmWIWW@h1H0D)UR<=$Whlwf5LV93f(D%KB;;9;of5{r`V6pQ-GD8di`)FQ&b0fha% zWhh$sU|RHCg5!fr@{3YIdcA>q^Hz$2^}e04vFnh7i0k{)%Q$ZE(Qj>=ubH zza^bI)K%8;&*LkZoKrLJ;!oG!#kR69)Nan0e$g`aLf^NN1+!E1qK+MI|9JM8aF^w+ z%MaJZi#^Ky;Zd~l|M?4*|HPg47)XiaFa+-fNE3aq_1IJ^_epM3^zXPh;QIgIM{1!H|d60%Q~}j ziY)?89kt2pO74_NJ9Wq!&F61jS5hoJpWUh~*(mmfm-+UM@e7pazVH#>b?NL`=hG5) zJ=)U3U52d@3txw?*Ew>(py27x-}Z^7|G5?GB)T7$%6#BsInB4e?Dea*uig$H=C>}- z%UP&>_s%X3j*X)Jpn%O{=*ZnfFj;{@1T}r&3t`MOgC4@VM45+{j*tVJTImRq0Jcs* zEqRpjC4l7oytK@8y^7o%SW%X`4pJQT2K)LSHsIO&K0IVM58svo=M~yaYAPyb0tRL0 zgw}H}@f1<7`BOdTi?cBE!IdAY&!6v`JMFoA@2PtS7MfI9S)S}ym(0j(x$?DSQ_U_r ztGRQ+7hkga%ycJwv5q#YLiwetQ!7p-nRmU>ZkXH1s(ZqnDNK5qz^Nqu{-jM?AK0|I zc1<*w4Cg7dy2sY&_Ppgu_kt^ruh!hjvbfCOW;(UJG3U32soKP~q8?9Uy3tGue+cX(xU z#iAn;0XKY4uL|()t!(Z*|9pm#UUcDV)zZs{xUV^s8Z`5ApOT+;RPT>(m9A*WUF8#x z%LCMxg@1OtL2|Fw9{F6%~w3qRhBzBpzV82Lp$m+^D!W_FKIM}X-6s^IN)^^vNJGCY=k*~9n*mhhiA0V2#8Za`3av9$WHm| zI1kwf6fYsnL3jzdV3kDi(k%>gQ1T;o-(i->2;aSROl5)wGWOB~;#*Mpj2!TwvIDu4 zQbKX%8hl2gL*Q)WC5oD literal 0 HcmV?d00001 From e8e6341e97af1648002c3b1246e6e5c3009bcb27 Mon Sep 17 00:00:00 2001 From: Francisco Javier Fernandez Gonzalez Date: Thu, 23 Nov 2017 12:19:10 +0100 Subject: [PATCH 2/3] [[JENKINS-48194] Lighter configuration for LocalData --- ...ewMsBuildBuilderTest.zip => configRoundtrip.zip} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename src/test/resources/hudson/plugins/msbuild/MsBuildBuilderTest/{newMsBuildBuilderTest.zip => configRoundtrip.zip} (100%) diff --git a/src/test/resources/hudson/plugins/msbuild/MsBuildBuilderTest/newMsBuildBuilderTest.zip b/src/test/resources/hudson/plugins/msbuild/MsBuildBuilderTest/configRoundtrip.zip similarity index 100% rename from src/test/resources/hudson/plugins/msbuild/MsBuildBuilderTest/newMsBuildBuilderTest.zip rename to src/test/resources/hudson/plugins/msbuild/MsBuildBuilderTest/configRoundtrip.zip From f566e248dd59bfcbf3125f7eeda064da16b15c6b Mon Sep 17 00:00:00 2001 From: Francisco Javier Fernandez Gonzalez Date: Wed, 3 Jan 2018 16:30:12 +0100 Subject: [PATCH 3/3] [JENKINS-48194] dummy commit --- src/test/java/hudson/plugins/msbuild/MsBuildBuilderTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/hudson/plugins/msbuild/MsBuildBuilderTest.java b/src/test/java/hudson/plugins/msbuild/MsBuildBuilderTest.java index 323c250..ed0dab9 100644 --- a/src/test/java/hudson/plugins/msbuild/MsBuildBuilderTest.java +++ b/src/test/java/hudson/plugins/msbuild/MsBuildBuilderTest.java @@ -51,8 +51,8 @@ public void endEscapedCharacter() { @LocalData public void configRoundtrip() { try { - FreeStyleProject p = (FreeStyleProject)r.jenkins.getAllItems().get(0); - r.configRoundtrip(p); + FreeStyleProject project = (FreeStyleProject)r.jenkins.getAllItems().get(0); + r.configRoundtrip(project); } catch (Exception e) { throw new AssertionError("Not valid configuration for MsBuild"); }