Really appreciate the suggestions.

To eliminate eclipse, I cloned https://github.com/jenkinsci/git-plugin.git 
to a new directory and built with maven.  Same issue.  Wonder if this is 
caused by my version of OS X (10.11.2) El Capitan.    I'm going to check 
the maven groups.

On Wednesday, January 6, 2016 at 12:25:48 PM UTC-7, Vincent Latombe wrote:
>
> If you use Eclipse, make sure you do a clean build in maven. Not doing so 
> will result in odd failures with all things related to annotation 
> processing, such as the error message you are getting.
>
> Vincent
>
> 2016-01-06 17:22 GMT+01:00 Mark Waite <[email protected] <javascript:>>
> :
>
>> I had a friend at the office compile the master branch of the git plugin 
>> on his MacOS machine with maven 3.3.1 and Java 1.8.0_60.  No test failures 
>> for him either.  I truly don't know what's different about your environment 
>> that causes the tests to fail.
>>
>> Mark Waite
>>
>> On Tue, Jan 5, 2016 at 9:01 PM Mark Waite <[email protected] 
>> <javascript:>> wrote:
>>
>>> It may be that you're seeing a slightly different variation on MacOS of 
>>> what I'm seeing on FreeBSD.  On FreeBSD, it appears the tests fail due to 
>>> the Jenkins version on which the git plugin is based.
>>>
>>> I maintain a working branch (for compatibility testing) on 
>>> https://github.com/MarkEWaite/git-plugin/tree/ongoing/latest-jenkins-lts .  
>>> That branch compiles and passes all tests on FreeBSD 10.1 with OpenJDK 8.  
>>> It is the same content as the git plugin master branch, plus an update to 
>>> the pom.xml to depend on the latest Jenkins long term support release.  I 
>>> believe it also includes one other relatively minor change required in the 
>>> newer Jenkins version.
>>>
>>> You might try that same branch for yourself.
>>>
>>> Mark Waite
>>>
>>> On Tue, Jan 5, 2016 at 8:22 PM Mark Waite <[email protected] 
>>> <javascript:>> wrote:
>>>
>>>> I use various versions of maven, including Maven 3.2.5, and the latest 
>>>> versions of Oracle Java 7 and Oracle Java 8 on the platforms where I 
>>>> compile and run.  I also use OpenJDK 7 and OpenJDK 8 on at least a few of 
>>>> the platforms.
>>>>
>>>> I also built and tested on FreeBSD 10.1 using OpenJDK 7.  That's the 
>>>> closest I can approximate to a MacOS machine.  It fails with a hundred or 
>>>> more test failures, but not with the message you're seeing.
>>>>
>>>> I built and tested on FreeBSD 10.1 using OpenJDK 8.  It also fails with 
>>>> a hundred or more test failures, but not the message you're seeing.
>>>>
>>>> I am able to run slave agents on FreeBSD, and the git plugin and git 
>>>> client plugin are able to clone repositories, but I can't compile and test 
>>>> successfully on FreeBSD with either OpenJDK 7 or OpenJDK 8.
>>>>
>>>> I think the problem you're seeing is either platform specific (like my 
>>>> FreeBSD problem), or environment and configuration specific.  
>>>> Unfortunately, I don't have any way to do further diagnosis.
>>>>
>>>> You might check with Craig Rodrigues on this mailing list.  I believe 
>>>> he's a FreeBSD developer.  I don't think I've ever seen a Darwin developer 
>>>> on the list.
>>>>
>>>> Mark Waite
>>>>
>>>> On Tue, Jan 5, 2016 at 7:02 PM Michael Giroux <[email protected] 
>>>> <javascript:>> wrote:
>>>>
>>>>> Mac OS should not matter.  Maven is Java, and Java is platform neutral 
>>>>> (in theory), but maven version may be of interest.
>>>>>
>>>>> What is your specific build environment?
>>>>>
>>>>>
>>>>>
>>>>> On Tuesday, January 5, 2016 at 6:02:56 PM UTC-7, Mark Waite wrote:
>>>>>
>>>>>> That's a very strange message.  The only reference I could find to 
>>>>>> that message was a wiki article from 2011.  See 
>>>>>> https://wiki.jenkins-ci.org/display/JENKINS/My+class+is+missing+descriptor
>>>>>>  in 
>>>>>> case that gives you any help.
>>>>>>
>>>>>> I see that you're running on MacOS, and I don't have a MacOS machine 
>>>>>> in my mix of development and test environments, so there may be 
>>>>>> something 
>>>>>> specific to the Mac.
>>>>>>
>>>>>> Mark Waite
>>>>>>
>>>>>> On Tue, Jan 5, 2016 at 4:29 PM Michael Giroux <[email protected]> 
>>>>>> wrote:
>>>>>>
>>>>> Attaching build.log for complete build result.  shows maven version 
>>>>>>> and java versions at head of file.
>>>>>>>
>>>>>>>
>>>>>>> On Tuesday, January 5, 2016 at 4:25:25 PM UTC-7, Michael Giroux 
>>>>>>> wrote:
>>>>>>>>
>>>>>>>> I'm running a build now, will attach console output when tests 
>>>>>>>> complete.  Here is an example of a failure:
>>>>>>>>
>>>>>>>> java.lang.AssertionError: class 
>>>>>>>> hudson.plugins.git.util.DefaultBuildChooser is missing its descriptor
>>>>>>>>
>>>>>>>> at jenkins.model.Jenkins.getDescriptorOrDie(Jenkins.java:1165)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> hudson.plugins.git.util.BuildChooser.getDescriptor(BuildChooser.java:142)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> hudson.plugins.git.util.BuildChooser.getDisplayName(BuildChooser.java:45)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> hudson.plugins.git.GitSCM.compareRemoteRevisionWithImpl(GitSCM.java:555)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> hudson.plugins.git.GitSCM.compareRemoteRevisionWith(GitSCM.java:529)
>>>>>>>>
>>>>>>>> at hudson.scm.SCM.compareRemoteRevisionWith(SCM.java:384)
>>>>>>>>
>>>>>>>> at hudson.scm.SCM.poll(SCM.java:401)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> hudson.model.AbstractProject.pollWithWorkspace(AbstractProject.java:1450)
>>>>>>>>
>>>>>>>> at hudson.model.AbstractProject._poll(AbstractProject.java:1421)
>>>>>>>>
>>>>>>>> at hudson.model.AbstractProject.poll(AbstractProject.java:1332)
>>>>>>>>
>>>>>>>> at hudson.plugins.git.SCMTriggerTest.check(SCMTriggerTest.java:271)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> hudson.plugins.git.SCMTriggerTest.testCommitAsBranchSpec_feature4_sha1(SCMTriggerTest.java:206)
>>>>>>>>
>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>>>>
>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:497)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.jvnet.hudson.test.JenkinsRule$2.evaluate(JenkinsRule.java:486)
>>>>>>>>
>>>>>>>> at org.junit.rules.RunRules.evaluate(RunRules.java:20)
>>>>>>>>
>>>>>>>> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
>>>>>>>>
>>>>>>>> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
>>>>>>>>
>>>>>>>> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
>>>>>>>>
>>>>>>>> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
>>>>>>>>
>>>>>>>> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
>>>>>>>>
>>>>>>>> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
>>>>>>>>
>>>>>>>> at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
>>>>>>>>
>>>>>>>>
>>>>>>>> testCommitAsBranchSpec_feature4_branchName(hudson.plugins.git.JGitSCMTriggerLocalPollTest)
>>>>>>>>   
>>>>>>>> Time elapsed: 10.183 sec  <<< FAILURE!
>>>>>>>>
>>>>>>>> java.lang.AssertionError: class 
>>>>>>>> hudson.plugins.git.util.DefaultBuildChooser is missing its descriptor
>>>>>>>>
>>>>>>>> at jenkins.model.Jenkins.getDescriptorOrDie(Jenkins.java:1165)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> hudson.plugins.git.util.BuildChooser.getDescriptor(BuildChooser.java:142)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> hudson.plugins.git.util.BuildChooser.getDisplayName(BuildChooser.java:45)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> hudson.plugins.git.GitSCM.compareRemoteRevisionWithImpl(GitSCM.java:555)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> hudson.plugins.git.GitSCM.compareRemoteRevisionWith(GitSCM.java:529)
>>>>>>>>
>>>>>>>> at hudson.scm.SCM.compareRemoteRevisionWith(SCM.java:384)
>>>>>>>>
>>>>>>>> at hudson.scm.SCM.poll(SCM.java:401)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> hudson.model.AbstractProject.pollWithWorkspace(AbstractProject.java:1450)
>>>>>>>>
>>>>>>>> at hudson.model.AbstractProject._poll(AbstractProject.java:1421)
>>>>>>>>
>>>>>>>> at hudson.model.AbstractProject.poll(AbstractProject.java:1332)
>>>>>>>>
>>>>>>>> at hudson.plugins.git.SCMTriggerTest.check(SCMTriggerTest.java:271)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> hudson.plugins.git.SCMTriggerTest.testCommitAsBranchSpec_feature4_branchName(SCMTriggerTest.java:214)
>>>>>>>>
>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>>>>
>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:497)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.jvnet.hudson.test.JenkinsRule$2.evaluate(JenkinsRule.java:486)
>>>>>>>>
>>>>>>>> at org.junit.rules.RunRules.evaluate(RunRules.java:20)
>>>>>>>>
>>>>>>>> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
>>>>>>>>
>>>>>>>> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
>>>>>>>>
>>>>>>>> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
>>>>>>>>
>>>>>>>> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
>>>>>>>>
>>>>>>>> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
>>>>>>>>
>>>>>>>> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
>>>>>>>>
>>>>>>>> at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)
>>>>>>>>
>>>>>>>> at 
>>>>>>>> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
>>>>>>>>
>>>>>>>>
>>>>>>>> Running hudson.plugins.git.JGitSCMTriggerRemotePollTest
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tuesday, January 5, 2016 at 3:55:01 PM UTC-7, Mark Waite wrote:
>>>>>>>>>
>>>>>>>>> I'm interested in the test failures you're seeing, since there are 
>>>>>>>>> currently no test failures on the Cloudbees execution of the 
>>>>>>>>> automated tests 
>>>>>>>>> <https://jenkins.ci.cloudbees.com/job/plugins/job/git-plugin/1031/> 
>>>>>>>>> on 
>>>>>>>>> the master branch, and there were only three random failures on my 
>>>>>>>>> execution of the automated tests on CentOS 6, CentOS 7, Debian 6, 
>>>>>>>>> Debian 7, 
>>>>>>>>> Debian 8, Windows 7, and Windows 10, with Java 7 and Java 8.
>>>>>>>>>
>>>>>>>>> Mark Waite
>>>>>>>>>
>>>>>>>>> On Tue, Jan 5, 2016 at 3:39 PM Michael Giroux <[email protected]> 
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Before I start making changes, I'm building from master and 
>>>>>>>>>> getting test failures.  Is there a document that explains additional 
>>>>>>>>>> environment setup needed to work on plugins?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Tuesday, January 5, 2016 at 12:59:55 PM UTC-7, Mark Waite 
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> That is am interesting idea.  Giving a semantic meaning to am 
>>>>>>>>>>> empty field should not alert behavior for non-empty fields.  Will 
>>>>>>>>>>> you be 
>>>>>>>>>>> coding it? 
>>>>>>>>>>>
>>>>>>>>>>> Mark Waite
>>>>>>>>>>>
>>>>>>>>>>> On Tue, Jan 5, 2016, 11:47 AM Michael Giroux <[email protected]> 
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>> Mark,
>>>>>>>>>>>>
>>>>>>>>>>>> I think there may be a simple solution that can be implemented 
>>>>>>>>>>>> in the Git plugin.  If the job is configured with additional 
>>>>>>>>>>>> behavior 
>>>>>>>>>>>> "checkout to local branch" AND the local branch name is left 
>>>>>>>>>>>> blank, then 
>>>>>>>>>>>> the Git plugin could do a checkout of the configured remote branch 
>>>>>>>>>>>> sans 
>>>>>>>>>>>> "origin/".  I think this allows for current behavior while also 
>>>>>>>>>>>> allowing 
>>>>>>>>>>>> maven release builds to run.
>>>>>>>>>>>>
>>>>>>>>>>>> Michael
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Thursday, December 31, 2015 at 8:41:53 AM UTC-7, Mark Waite 
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> I think your logic is very reasonable.  The git plugin seems 
>>>>>>>>>>>>> like the right place to do that.  Since the need is to reference 
>>>>>>>>>>>>> a 
>>>>>>>>>>>>> substring of the current GIT_BRANCH value within the context of a 
>>>>>>>>>>>>> Jenkins 
>>>>>>>>>>>>> job, it seems like an addition to the token macro keywords 
>>>>>>>>>>>>> allowed on 
>>>>>>>>>>>>> GIT_BRANCH might meet your need.
>>>>>>>>>>>>>
>>>>>>>>>>>>> You might refer to 
>>>>>>>>>>>>> https://issues.jenkins-ci.org/browse/JENKINS-25465 for a 
>>>>>>>>>>>>> discussion of the fullName=false parameter to GIT_BRANCH, in case 
>>>>>>>>>>>>> that will 
>>>>>>>>>>>>> already handle your case.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Mark Waite
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Thu, Dec 31, 2015 at 6:07 AM Michael Giroux <
>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>> Accepting that the Git Parameter plugin is technically correct, 
>>>>>>>>>>>>>> lets get back to the maven release build issue.
>>>>>>>>>>>>>> 1. to do a maven release, we MUST configure the "checkout to 
>>>>>>>>>>>>>> local branch" option, or define a pre build step to do a git 
>>>>>>>>>>>>>> checkout into 
>>>>>>>>>>>>>> a local branch.
>>>>>>>>>>>>>> 2. the local branch name MUST be the effective name on the 
>>>>>>>>>>>>>> remote (sans origin/) to allow the maven release:prepare to push 
>>>>>>>>>>>>>> the pom 
>>>>>>>>>>>>>> changes to the correct branch.
>>>>>>>>>>>>>> 3. we currently can not use the value from the Git Parameter 
>>>>>>>>>>>>>> plugin because that includes the "origin/" prefix resulting in a 
>>>>>>>>>>>>>> new branch 
>>>>>>>>>>>>>> created on the remote git repo.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I'm not really sure where the option belongs, but to support 
>>>>>>>>>>>>>> doing a maven release on a branch specified by the Git Parameter 
>>>>>>>>>>>>>> plugin we 
>>>>>>>>>>>>>> need a clean way to get the code checked out into the correct 
>>>>>>>>>>>>>> local branch.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> The Git plugin could provide an option to derive local branch 
>>>>>>>>>>>>>> name, or the Git Parameter plugin could define an additional 
>>>>>>>>>>>>>> parameter 
>>>>>>>>>>>>>> containing the effective branch name.  I'm not sure which is 
>>>>>>>>>>>>>> best 
>>>>>>>>>>>>>> approach.  I suspect that the Git plugin should be able to 
>>>>>>>>>>>>>> operate whether 
>>>>>>>>>>>>>> the Git Parameter plugin has been configured or not, so I lean 
>>>>>>>>>>>>>> toward an 
>>>>>>>>>>>>>> option in Git plugin to "checkout to local branch" that ends up 
>>>>>>>>>>>>>> with the 
>>>>>>>>>>>>>> required local branch name, but there may be a more appropriate 
>>>>>>>>>>>>>> approach.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> What is the next step?  
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Wednesday, December 30, 2015 at 3:12:49 PM UTC-7, Mark 
>>>>>>>>>>>>>> Waite wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Could do that as well, though the git parameter plugin is 
>>>>>>>>>>>>>>> technically correct.  It is showing the branch to be built, and 
>>>>>>>>>>>>>>> the branch 
>>>>>>>>>>>>>>> to be built truly is "origin/master", since there is no local 
>>>>>>>>>>>>>>> master branch 
>>>>>>>>>>>>>>> tracking the remote branch.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Mark Waite
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Wed, Dec 30, 2015 at 11:41 AM Michael Giroux <
>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Mark, I wonder if one of the issues I have is actually a 
>>>>>>>>>>>>>>>> defect in the Git Parameter plugin.  Specifically, the values 
>>>>>>>>>>>>>>>> set by the 
>>>>>>>>>>>>>>>> Git Parameter plugin include the "origin/" prefix.  When this 
>>>>>>>>>>>>>>>> is used as 
>>>>>>>>>>>>>>>> the value for checkout to local branch, AND the build is a 
>>>>>>>>>>>>>>>> maven release, 
>>>>>>>>>>>>>>>> we end up with a new branch in Stash "origin/master" (should 
>>>>>>>>>>>>>>>> be simply 
>>>>>>>>>>>>>>>> master) or "origin/some_other_branch".  It seems that normal 
>>>>>>>>>>>>>>>> builds run 
>>>>>>>>>>>>>>>> just fine, but release builds result in pushes back to Git and 
>>>>>>>>>>>>>>>> here is 
>>>>>>>>>>>>>>>> where the branch names get messed up.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Should I be asking the Git Parameter plugin developers to 
>>>>>>>>>>>>>>>> strip the leading "origin/" from the branch names that are 
>>>>>>>>>>>>>>>> assigned to the 
>>>>>>>>>>>>>>>> parameter?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Michael
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Wednesday, December 30, 2015 at 11:22:33 AM UTC-7, 
>>>>>>>>>>>>>>>> Michael Giroux wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks Mark.  Command line build runs fine w/o compile 
>>>>>>>>>>>>>>>>> errors.  For your reference, this is a known Eclipse issue 
>>>>>>>>>>>>>>>>> bug 
>>>>>>>>>>>>>>>>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=369592.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Wednesday, December 30, 2015 at 10:34:59 AM UTC-7, Mark 
>>>>>>>>>>>>>>>>> Waite wrote:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> https://jenkins.ci.cloudbees.com/job/plugins/job/git-plugin/ 
>>>>>>>>>>>>>>>>>> (and 
>>>>>>>>>>>>>>>>>> my internal Jenkins server inside my firewall) confirm that 
>>>>>>>>>>>>>>>>>> the code on the 
>>>>>>>>>>>>>>>>>> master branch compiles correctly from the maven command line.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I run my debugger from Netbeans (rather than Eclipse) and 
>>>>>>>>>>>>>>>>>> can confirm that it compiles and runs from Netbeans as well. 
>>>>>>>>>>>>>>>>>>  I don't use 
>>>>>>>>>>>>>>>>>> Eclipse, so I'm not much help wiht Eclipse specific failures.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Mark Waite
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Wed, Dec 30, 2015 at 8:31 AM Michael Giroux <
>>>>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> BTW, the following patch resolves my compile errors, but 
>>>>>>>>>>>>>>>>>>> not sure if the cast to (Item) is the best choice.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> diff --git 
>>>>>>>>>>>>>>>>>>> a/src/test/java/hudson/plugins/git/GitSCMTest.java 
>>>>>>>>>>>>>>>>>>> b/src/test/java/hudson/plugins/git/GitSCMTest.java
>>>>>>>>>>>>>>>>>>> index 3a14b10..a39e60c 100644
>>>>>>>>>>>>>>>>>>> --- a/src/test/java/hudson/plugins/git/GitSCMTest.java
>>>>>>>>>>>>>>>>>>> +++ b/src/test/java/hudson/plugins/git/GitSCMTest.java
>>>>>>>>>>>>>>>>>>> @@ -1203,7 +1203,7 @@
>>>>>>>>>>>>>>>>>>>                                  false, 
>>>>>>>>>>>>>>>>>>> Collections.<SubmoduleConfig>emptyList(),
>>>>>>>>>>>>>>>>>>>                                  browser, null, null);
>>>>>>>>>>>>>>>>>>>          p.setScm(scm);
>>>>>>>>>>>>>>>>>>> -        configRoundtrip(p);
>>>>>>>>>>>>>>>>>>> +        configRoundtrip((Item)p);
>>>>>>>>>>>>>>>>>>>          assertEqualDataBoundBeans(scm,p.getScm());
>>>>>>>>>>>>>>>>>>>          assertEquals("Wrong key", "git " + url, 
>>>>>>>>>>>>>>>>>>> scm.getKey());
>>>>>>>>>>>>>>>>>>>      }
>>>>>>>>>>>>>>>>>>> @@ -1215,7 +1215,7 @@
>>>>>>>>>>>>>>>>>>>          FreeStyleProject p = createFreeStyleProject();
>>>>>>>>>>>>>>>>>>>          GitSCM scm = new GitSCM("
>>>>>>>>>>>>>>>>>>> https://github.com/jenkinsci/jenkins";);
>>>>>>>>>>>>>>>>>>>          p.setScm(scm);
>>>>>>>>>>>>>>>>>>> -        configRoundtrip(p);
>>>>>>>>>>>>>>>>>>> +        configRoundtrip((Item)p);
>>>>>>>>>>>>>>>>>>>          assertEqualDataBoundBeans(scm,p.getScm());
>>>>>>>>>>>>>>>>>>>      }
>>>>>>>>>>>>>>>>>>>  
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On Wednesday, December 30, 2015 at 10:29:37 AM UTC-7, 
>>>>>>>>>>>>>>>>>>> Michael Giroux wrote:
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Not making any changes to code, just trying to examine 
>>>>>>>>>>>>>>>>>>>> primary project source to understand what is being changed 
>>>>>>>>>>>>>>>>>>>> in the PRs.
>>>>>>>>>>>>>>>>>>>> I cloned the primary git repo from 
>>>>>>>>>>>>>>>>>>>> https://github.com/jenkinsci/git-plugin.git so I could 
>>>>>>>>>>>>>>>>>>>> get some context for the PRs which show only the code 
>>>>>>>>>>>>>>>>>>>> being changed.  
>>>>>>>>>>>>>>>>>>>> Getting compile errors on unmodified project.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Eclipse version 4.5 (Mars), JDK  1.8.0 (also tried JDK 
>>>>>>>>>>>>>>>>>>>> 1.7.0)
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On Wednesday, December 30, 2015 at 9:53:36 AM UTC-7, 
>>>>>>>>>>>>>>>>>>>> Mark Waite wrote:
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Don't attempt to evaluate the two pull requests in the 
>>>>>>>>>>>>>>>>>>>>> same repository.  They are two different ideas that might 
>>>>>>>>>>>>>>>>>>>>> meet your need.  
>>>>>>>>>>>>>>>>>>>>> I suspect that one or the other will eventually be 
>>>>>>>>>>>>>>>>>>>>> merged, but not both.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Mark Waite
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On Wed, Dec 30, 2015 at 7:21 AM Michael Giroux <
>>>>>>>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Mark, I'm taking a look at the two pull requests.  I 
>>>>>>>>>>>>>>>>>>>>>> cloned the repo so I can view code in Eclipse, but I'm 
>>>>>>>>>>>>>>>>>>>>>> getting compile 
>>>>>>>>>>>>>>>>>>>>>> errors in GitSCMTest.java:
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Description Resource Path Location Type
>>>>>>>>>>>>>>>>>>>>>> The method configRoundtrip(FreeStyleProject) is 
>>>>>>>>>>>>>>>>>>>>>> ambiguous for the type GitSCMTest GitSCMTest.java 
>>>>>>>>>>>>>>>>>>>>>> /git/src/test/java/hudson/plugins/git line 1206 Java 
>>>>>>>>>>>>>>>>>>>>>> Problem
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Suggestions?
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Michael
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On Tuesday, December 29, 2015 at 10:47:14 PM UTC-7, 
>>>>>>>>>>>>>>>>>>>>>> Mark Waite wrote:
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> There is a pending pull request to the git plugin 
>>>>>>>>>>>>>>>>>>>>>>> which provides a new environment variable, 
>>>>>>>>>>>>>>>>>>>>>>> GIT_SHORT_BRANCH_NAME.  The 
>>>>>>>>>>>>>>>>>>>>>>> semantics of that proposed environment variable are not 
>>>>>>>>>>>>>>>>>>>>>>> quite what you're 
>>>>>>>>>>>>>>>>>>>>>>> describing, but you might review the pull request to 
>>>>>>>>>>>>>>>>>>>>>>> see if it is close 
>>>>>>>>>>>>>>>>>>>>>>> enough for your use case.  See 
>>>>>>>>>>>>>>>>>>>>>>> https://github.com/jenkinsci/git-plugin/pull/347
>>>>>>>>>>>>>>>>>>>>>>>  and 
>>>>>>>>>>>>>>>>>>>>>>> https://github.com/jenkinsci/git-plugin/pull/304 for 
>>>>>>>>>>>>>>>>>>>>>>> two different possibilities.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Mark Waite
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On Tue, Dec 29, 2015 at 8:36 PM Michael Giroux <
>>>>>>>>>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Yes.  
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> The issue I'm describing is a result of using the 
>>>>>>>>>>>>>>>>>>>>>>>> Git Parameter plugin which allows the user to select a 
>>>>>>>>>>>>>>>>>>>>>>>> branch, + the Git 
>>>>>>>>>>>>>>>>>>>>>>>> plugin which allows configuration of the branch to 
>>>>>>>>>>>>>>>>>>>>>>>> build and the local 
>>>>>>>>>>>>>>>>>>>>>>>> branch name, + maven release plugin which relies on 
>>>>>>>>>>>>>>>>>>>>>>>> local branch name for 
>>>>>>>>>>>>>>>>>>>>>>>> push to remote + Stash Webhook to Jenkins with 
>>>>>>>>>>>>>>>>>>>>>>>> triggers a build of any 
>>>>>>>>>>>>>>>>>>>>>>>> arbitrary branch.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> I will admit that one solution is to create two 
>>>>>>>>>>>>>>>>>>>>>>>> jobs in Jenkins to allow building of any arbitrary 
>>>>>>>>>>>>>>>>>>>>>>>> branch as triggered by 
>>>>>>>>>>>>>>>>>>>>>>>> the Stash web hook for jenkins, and a second job that 
>>>>>>>>>>>>>>>>>>>>>>>> is configured to 
>>>>>>>>>>>>>>>>>>>>>>>> build a branch specified by user supplied parameter 
>>>>>>>>>>>>>>>>>>>>>>>> values.  
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> The problem occurs when when attempting to 
>>>>>>>>>>>>>>>>>>>>>>>> configure a single jenkins build that allows for 
>>>>>>>>>>>>>>>>>>>>>>>> manual specification of 
>>>>>>>>>>>>>>>>>>>>>>>> branch via the Git parameter, and builds kicked off by 
>>>>>>>>>>>>>>>>>>>>>>>> the Stash web hook 
>>>>>>>>>>>>>>>>>>>>>>>> to jenkins.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> 1. to allow the jenkins web hook to initiate a 
>>>>>>>>>>>>>>>>>>>>>>>> build, it is necessary to configure the build to build 
>>>>>>>>>>>>>>>>>>>>>>>> any branch (leaving 
>>>>>>>>>>>>>>>>>>>>>>>> branch to build as blank).
>>>>>>>>>>>>>>>>>>>>>>>> 2. to allow a maven release to build, you MUST 
>>>>>>>>>>>>>>>>>>>>>>>> specify a local branch name.  Otherwise, the push to 
>>>>>>>>>>>>>>>>>>>>>>>> stash fails the build 
>>>>>>>>>>>>>>>>>>>>>>>> does not have a local branch name.
>>>>>>>>>>>>>>>>>>>>>>>> 3. To meet condittion #1, the default value for the 
>>>>>>>>>>>>>>>>>>>>>>>> Git parameter must be "**" so that the branch to build 
>>>>>>>>>>>>>>>>>>>>>>>> is ANY (** or empty)
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> So basically, the issue is that if a build is 
>>>>>>>>>>>>>>>>>>>>>>>> configured to build any branch, and also has maven 
>>>>>>>>>>>>>>>>>>>>>>>> release configured, you 
>>>>>>>>>>>>>>>>>>>>>>>> need some way to get the code checked out to a local 
>>>>>>>>>>>>>>>>>>>>>>>> branch (additional 
>>>>>>>>>>>>>>>>>>>>>>>> behaviors) with the same name as the branch being 
>>>>>>>>>>>>>>>>>>>>>>>> built, and there is 
>>>>>>>>>>>>>>>>>>>>>>>> currently no way to do that.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> I tried to put "${GIT_BRANCH/*\//}" into the 
>>>>>>>>>>>>>>>>>>>>>>>> "checkout to local branch" but this did not work.  It 
>>>>>>>>>>>>>>>>>>>>>>>> seems this field does 
>>>>>>>>>>>>>>>>>>>>>>>> not resolve environment variable references using full 
>>>>>>>>>>>>>>>>>>>>>>>> bash variable 
>>>>>>>>>>>>>>>>>>>>>>>> reference notation.  Perhaps this is the solution.  
>>>>>>>>>>>>>>>>>>>>>>>> Extend the "checkout to 
>>>>>>>>>>>>>>>>>>>>>>>> local branch" to provide full bash resolution of the 
>>>>>>>>>>>>>>>>>>>>>>>> variable name.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> On Tuesday, December 29, 2015 at 10:03:25 AM UTC-7, 
>>>>>>>>>>>>>>>>>>>>>>>> Michael Giroux wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Using Jenkins 1.609.3, Git plugin 2.4.0.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> We have configured most of our jobs to allow jobs 
>>>>>>>>>>>>>>>>>>>>>>>>> to be initiated by the Stash Webhook to Jenkins.  To 
>>>>>>>>>>>>>>>>>>>>>>>>> allow developers to 
>>>>>>>>>>>>>>>>>>>>>>>>> manually initiate a build of any branch, the jobs use 
>>>>>>>>>>>>>>>>>>>>>>>>> the Git Parameter to 
>>>>>>>>>>>>>>>>>>>>>>>>> set a BRANCH variable.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Using this configuration, the Git Parameter is 
>>>>>>>>>>>>>>>>>>>>>>>>> configured to set "**" as the default branch to 
>>>>>>>>>>>>>>>>>>>>>>>>> build.  This allows the 
>>>>>>>>>>>>>>>>>>>>>>>>> Stash Webhook to initiate a build of any branch.  In 
>>>>>>>>>>>>>>>>>>>>>>>>> order to allow the job 
>>>>>>>>>>>>>>>>>>>>>>>>> to perform a maven release, we have configured the 
>>>>>>>>>>>>>>>>>>>>>>>>> Git SCM to checkout to 
>>>>>>>>>>>>>>>>>>>>>>>>> local branch "master".  This all works well as long 
>>>>>>>>>>>>>>>>>>>>>>>>> as we are not doing a 
>>>>>>>>>>>>>>>>>>>>>>>>> maven release, or when we do a maven release on the 
>>>>>>>>>>>>>>>>>>>>>>>>> master branch.  T
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/e021aee2-db95-46fb-9654-162df8a1f72e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to