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]>:

> 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]>
> 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]>
>> 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]>
>>> 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.  The
>>>>>>>>>>>>>>>>>>>>>>>> strategy breaks down if the developer attempts a maven 
>>>>>>>>>>>>>>>>>>>>>>>> release on another
>>>>>>>>>>>>>>>>>>>>>>>> branch when the maven release:prepare goal tries to 
>>>>>>>>>>>>>>>>>>>>>>>> push pom updates.  Note
>>>>>>>>>>>>>>>>>>>>>>>> that the maven release plugin uses the current local 
>>>>>>>>>>>>>>>>>>>>>>>> branch in the push as
>>>>>>>>>>>>>>>>>>>>>>>> "git push url localBranch:localBranch"  As a result, 
>>>>>>>>>>>>>>>>>>>>>>>> when the build is for
>>>>>>>>>>>>>>>>>>>>>>>> "some_branch" which has been checked out to local 
>>>>>>>>>>>>>>>>>>>>>>>> branch "master" we get an
>>>>>>>>>>>>>>>>>>>>>>>> error on "git push ... master:master" because the 
>>>>>>>>>>>>>>>>>>>>>>>> remote "master" is not in
>>>>>>>>>>>>>>>>>>>>>>>> sync with the local.  No surprises here since the 
>>>>>>>>>>>>>>>>>>>>>>>> local "master" is
>>>>>>>>>>>>>>>>>>>>>>>> actually "some_branch".
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> To resolve this, we have deleted the "checkout to
>>>>>>>>>>>>>>>>>>>>>>>> local branch" additional action, and added a pre-build 
>>>>>>>>>>>>>>>>>>>>>>>> step that does the
>>>>>>>>>>>>>>>>>>>>>>>> following:'
>>>>>>>>>>>>>>>>>>>>>>>> # checkout to a local branch using the remote
>>>>>>>>>>>>>>>>>>>>>>>> branch name
>>>>>>>>>>>>>>>>>>>>>>>> LOCAL_GIT_BRANCH=${GI
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> --
>>>>>> 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/b1636c11-3a56-41ed-ba5d-547dae02292a%40googlegroups.com
>>>>>> <https://groups.google.com/d/msgid/jenkinsci-users/b1636c11-3a56-41ed-ba5d-547dae02292a%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>> --
>>>> 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/78815edf-b1a7-478a-bda1-6b722400fb55%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/jenkinsci-users/78815edf-b1a7-478a-bda1-6b722400fb55%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>> --
> 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/CAO49JtHckAhsUXVuM9-kYb4xV%2BTJu9-vgEDvZ%2BydwkGSVfCjDg%40mail.gmail.com
> <https://groups.google.com/d/msgid/jenkinsci-users/CAO49JtHckAhsUXVuM9-kYb4xV%2BTJu9-vgEDvZ%2BydwkGSVfCjDg%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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/CAH-zGCh7XnVdh2iZBTxyTUna4So%2BSq4e_OpNw9hr41wUx0QW7g%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to