History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: QB-458
Type: Bug Bug
Status: Resolved Resolved
Resolution: Won't Fix
Priority: Major Major
Assignee: Robin Shen
Reporter: Roger Perkins
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
QuickBuild

Promoting a build fails if you have a "Snapshot taking Script"

Created: 24/Oct/09 11:17 AM   Updated: 27/Oct/09 09:30 AM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown
Environment: v2.0.5


 Description  « Hide
Have a "Snapshot taking Script" and try to promote that build. During the promotion it will throw an exception with

2009-10-24 12:05:50,2 [Thread-280] INFO com.pmease.quickbuild.DefaultBuildEngine - Taking repository snapshots for configuration 'X/Y/Z'...
2009-10-24 12:05:50,2 [Thread-280] ERROR com.pmease.quickbuild.web.BuildHelper - Error promoting build.
    java.lang.RuntimeException: Failed to evaluate below expression:
    mvel:for(repository: current.getInvolvedRepositories()) {
     repository.takeSnapshot();
    }

 All   Comments   Work Log   Change History      Sort Order:
Robin Shen [24/Oct/09 11:43 AM]
Can you please post the full stacktrace?

Thanks

Roger Perkins [24/Oct/09 11:46 AM]
        at com.pmease.quickbuild.util.ExceptionUtils.wrapException(ExceptionUtils.java:88)
        at com.pmease.quickbuild.DefaultExpressionManager.evaluate(DefaultExpressionManager.java:101)
        at com.pmease.quickbuild.DefaultBuildEngine.promoteTo(DefaultBuildEngine.java:272)
        at com.pmease.quickbuild.web.BuildHelper$3.run(BuildHelper.java:108)
        at java.lang.Thread.run(Unknown Source)
    Caused by: [Error: cannot invoke method: getInvolvedRepositories]
    [Near : {... Unknown ....}]
     ^
    [Line: 1, Column: 0]
        at org.mvel2.optimizers.impl.refl.nodes.MethodAccessor.getValue(MethodAccessor.java:63)
        at org.mvel2.optimizers.impl.refl.nodes.VariableAccessor.getValue(VariableAccessor.java:38)
        at org.mvel2.optimizers.dynamic.DynamicGetAccessor.getValue(DynamicGetAccessor.java:66)
        at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:96)
        at org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:37)
        at org.mvel2.ast.ForEachNode.getReducedValueAccelerated(ForEachNode.java:69)
        at org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:41)
        at org.mvel2.MVEL.executeExpression(MVEL.java:1047)
        at com.pmease.quickbuild.plugin.basis.BasisPlugin$11.evaluate(BasisPlugin.java:137)
        at com.pmease.quickbuild.DefaultExpressionManager.evaluate(DefaultExpressionManager.java:95)
        ... 3 more
    Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.mvel2.optimizers.impl.refl.nodes.MethodAccessor.getValue(MethodAccessor.java:48)
        ... 12 more
    Caused by: com.pmease.quickbuild.QuickbuildException: Step 'master' is not defined in current configuration hierarchy.
        at com.pmease.quickbuild.model.Configuration.getStep(Configuration.java:1223)
        at com.pmease.quickbuild.model.Configuration.getInvolvedRepositories(Configuration.java:1411)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
        at com.pmease.quickbuild.model.Configuration$$EnhancerByCGLIB$$37bfa234.getInvolvedRepositories(<generated>)
        ... 17 more

Robin Shen [24/Oct/09 12:32 PM]
The release configuration need to have master step defined to tell QuickBuild what should be done when a release build is generated. The typical step is to publish the promoted artifacts.