I get this compilation error when trying to build unified-identity-service
branch in Jenkow:
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile)
on project jenkow-plugin: Compilation failure: Compilation failure:
[ERROR]
.../jenkow-plugin/jenkow-plugin/src/main/java/com/cisco/step/jenkins/plugins/jenkow/identity/AnonymousUserQueryImpl.java:[41,15]
cannot find symbol
[ERROR] symbol : method
query(com.google.common.base.Predicate<java.lang.Object>)
[ERROR] location: class
com.cisco.step.jenkins.plugins.jenkow.identity.AnonymousUserQueryImpl
[ERROR]
.../jenkow-plugin/jenkow-plugin/src/main/java/com/cisco/step/jenkins/plugins/jenkow/identity/JenkowUserQueryImpl.java:[67,15]
cannot find symbol
[ERROR] symbol : method
query(com.google.common.base.Predicate<java.lang.Object>)
[ERROR] location: class
com.cisco.step.jenkins.plugins.jenkow.identity.JenkowUserQueryImpl
With these changes it builds:
AnonymousUserQueryImpl.query(Predicate<User> pred)
JenkowUserQueryImpl .query(Predicate<hudson.model.User> pred)
==>
AnonymousUserQueryImpl.query(Predicate<? super hudson.model.User> pred)
JenkowUserQueryImpl .query(Predicate<? super User> pred)
In the activiti-explorer-plugin trunk I get this build problem for which I
can't find a solution:
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile)
on project activiti-explorer-override: Compilation failure: Compilation failure:
[ERROR]
.../activiti-explorer-plugin/activiti-explorer-override/src/main/java/org/jenkinsci/plugins/jenkow/activiti/override/ServletContextDataSource.java:[16,7]
cannot access org.springframework.beans.factory.Aware
[ERROR] class file for org.springframework.beans.factory.Aware not found
[ERROR] public class ServletContextDataSource implements FactoryBean,
ServletContextAware {
[ERROR]
.../activiti-explorer-plugin/activiti-explorer-override/src/main/java/org/jenkinsci/plugins/jenkow/activiti/override/ServletContextDataSource.java:[16,7]
cannot access org.springframework.beans.factory.Aware
[ERROR] class file for org.springframework.beans.factory.Aware not found
[ERROR] public class ServletContextDataSource implements FactoryBean,
ServletContextAware {
[ERROR]
.../activiti-explorer-plugin/activiti-explorer-override/src/main/java/org/jenkinsci/plugins/jenkow/activiti/override/ServletContextDataSource.java:[21,8]
cannot find symbol
[ERROR] symbol : variable this
[ERROR] location: class
org.jenkinsci.plugins.jenkow.activiti.override.ServletContextDataSource
[ERROR]
.../activiti-explorer-plugin/activiti-explorer-override/src/main/java/org/jenkinsci/plugins/jenkow/activiti/override/ServletContextDataSource.java:[19,4]
method does not override or implement a method from a supertype
[ERROR]
.../activiti-explorer-plugin/activiti-explorer-override/src/main/java/org/jenkinsci/plugins/jenkow/activiti/override/ServletContextDataSource.java:[24,4]
method does not override or implement a method from a supertype
[ERROR]
.../activiti-explorer-plugin/activiti-explorer-override/src/main/java/org/jenkinsci/plugins/jenkow/activiti/override/ServletContextDataSource.java:[32,4]
method does not override or implement a method from a supertype
[ERROR]
.../activiti-explorer-plugin/activiti-explorer-override/src/main/java/org/jenkinsci/plugins/jenkow/activiti/override/ServletContextDataSource.java:[37,4]
method does not override or implement a method from a supertype
-Max
On 12/16/2012 08:52 AM, Kohsuke Kawaguchi wrote:
I've done more hacking on the Jenkow/Activiti Explorer plugins.
As Max has discovered and explained in [1], there seems to be a lack of control
regarding what steps execute where --- in our workflows, there can be Jenkins
task invocation steps, as well as script steps that refer to Jenkins variables
like 'console'.
Those steps will obviously fail to run anywhere except the Jenkow environment,
yet AE seems to eagerly carry out executable steps whenever it can.
One way to work around this problem is to reuse the entire ProcessEngine
instance between Jenkow and AE (whereas previously we were just sharing the
same database.) In this way, AE becomes just another client of the same engine
instance that Jenkow plugin uses, so when it tries to eagerly carry out those
steps, they'll just work.
And that is what I just implemented. I suppose the added benefit includes
memory saving (of not having two ProcessEngines and their caches.) As a part of
this change, I needed to make ProcessEngine properly recognize users and groups
in the Jenkins world.
I pushed these changes to the 'unified-identity-service' branch of the Jenkow
plugin. The corresponding AE plugin changes are in its trunk.
To make the whole thing work, I had to set the initial assignee of the user
task, like this:
<userTask id="usertask1" name="User Task"
activiti:assignee="kohsuke"></userTask>
(I was using the PAM auth, so 'kohsuke' refers to my Unix user name)
[1] http://forums.activiti.org/en/viewtopic.php?f=6&t=5740
--
Kohsuke Kawaguchi