I'm basically just trying to copy the artifacts from one configuration to another without rebuilding anything.
I setup a Quickbuild repository with these settings:
Configuration: ${build.promotionSource.configuration.pathName}
Build Version: ${build.promotionSource.version}
I then setup the "release" configuration as a sibling of the "qa" configuration, with a master step which consists
of one substep which is a checkout from the Quickbuild repository. I want to define the repository and the step
at the root level, as this pattern will be used all over my configurations, so i don't want absolute paths, and i don't
want variables. I just want to promote to a sibling, and want the promotion target to checkout the artifacts from
the promotion source.
the problem is that when I click the promote button, and it tries to checkout, it's getting an MVEL evaluation error,
and I get this in the system log:
Caused by: com.pmease.quickbuild.QuickbuildException: Failed to evaluate below expression:
mvel:build.promotionSource.configuration.pathName
at com.pmease.quickbuild.util.ExceptionUtils.wrapException(ExceptionUtils.java:90)
at com.pmease.quickbuild.DefaultExpressionManager.evaluate(DefaultExpressionManager.java:71)
at com.pmease.quickbuild.DefaultExpressionManager.interpolate(DefaultExpressionManager.java:84)
at com.pmease.quickbuild.DefaultExpressionManager$Interpolator.intercept(DefaultExpressionManager.java:259)
at com.pmease.quickbuild.dependency.QuickbuildRepository$$EnhancerByCGLIB$$272ef3cf.getConfigurationPath(<generated>)
at com.pmease.quickbuild.dependency.QuickbuildRepository.getConfigurationDOM(QuickbuildRepository.java:161)
at com.pmease.quickbuild.dependency.QuickbuildRepository$$EnhancerByCGLIB$$272ef3cf.CGLIB$getConfigurationDOM$23(<generated>)
at com.pmease.quickbuild.dependency.QuickbuildRepository$$EnhancerByCGLIB$$272ef3cf$$FastClassByCGLIB$$597e90f7.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:167)
This sort of approach was how it was done in 1.2.x. Am i missing something here? Is there some completely different approach for 2.0? I can't find much useful examples in the documentation in terms of how to setup the target configuration or how to use the scripting, other than to use "vars.get" in the configuration field of the repository.