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

Reply via email to