Loaded components are not expected in command line- JBE build request
RTC3013 used.
Try to create build definition "123_new": command-line - Jazz Build Engine and select Jazz Source control in pre-build page.
The Jazz Source Control page configuration is as below:
. Build Workspace: 123_workspace, its flow target stream is 123_stream
123_workspace has component c1, c2,c3,c4, 123_stream has c1,c2,c3,c4 and A,B,C components
. Load options:
load directory:/test/123_test/All_Components
Check: create folders for components
. Components to exclude: exclude c1,c2,c3
.No Component load rules specified
. Accept Options as default(both checked)
When request build 123_new, we notice that c4 is downloaded to /test/123_test/All_Components as well as A,B, C components.
Since A/B/C components are not in 123_workspace, the result confuses us as the Load options say:
Specify the load destination directory. This is the directory on the build machine where workspace files will be loaded.
As components A/B/C are not in the workspace 123_workspace but only in its flow target stream 123_stream, why are those
components downloaded to build directory as well? Does that mean that during build request, the inputs are actually from
stream but not repository workspace? And when stream has more components than in repository workspace, should
we have to go to Flow targets of workspace and select the components c1/c2/c3/c4 only by "flow only components checked below"?
(In this case Components to exclude: exclude c1,c2,c3 will be applied and the result is only c4 is to be loaded)
Is there any places we need to check with? or something we need to configure to prevent this from happening?
Appreciate if there is any inputs here. Thanks a lot.
Try to create build definition "123_new": command-line - Jazz Build Engine and select Jazz Source control in pre-build page.
The Jazz Source Control page configuration is as below:
. Build Workspace: 123_workspace, its flow target stream is 123_stream
123_workspace has component c1, c2,c3,c4, 123_stream has c1,c2,c3,c4 and A,B,C components
. Load options:
load directory:/test/123_test/All_Components
Check: create folders for components
. Components to exclude: exclude c1,c2,c3
.No Component load rules specified
. Accept Options as default(both checked)
When request build 123_new, we notice that c4 is downloaded to /test/123_test/All_Components as well as A,B, C components.
Since A/B/C components are not in 123_workspace, the result confuses us as the Load options say:
Specify the load destination directory. This is the directory on the build machine where workspace files will be loaded.
As components A/B/C are not in the workspace 123_workspace but only in its flow target stream 123_stream, why are those
components downloaded to build directory as well? Does that mean that during build request, the inputs are actually from
stream but not repository workspace? And when stream has more components than in repository workspace, should
we have to go to Flow targets of workspace and select the components c1/c2/c3/c4 only by "flow only components checked below"?
(In this case Components to exclude: exclude c1,c2,c3 will be applied and the result is only c4 is to be loaded)
Is there any places we need to check with? or something we need to configure to prevent this from happening?
Appreciate if there is any inputs here. Thanks a lot.
One answer
Hi Don,
Public builds will always be run off of the stream. The repository workspace would by default accept all changes on the stream including additional components. I would assume if you set up the build workspace to not load the additional components it would not do it during the build.
Here was a discussion that includes information on how you can do that, I think: https://jazz.net/forum/questions/82219/how-to-ignore-the-incoming-changes-for-an-unloaded-component
For a private build I just checked that apparently the build accesses the users repository workspace and uses the same load options. Only the components available in the repository workspace would be used. If the build definition excludes components they will not be loaded.
However, if the repository workspace contain components that are not in the stream (and can therefore not be selected for filtering) I would assume them to be loaded nonetheless.
Public builds will always be run off of the stream. The repository workspace would by default accept all changes on the stream including additional components. I would assume if you set up the build workspace to not load the additional components it would not do it during the build.
Here was a discussion that includes information on how you can do that, I think: https://jazz.net/forum/questions/82219/how-to-ignore-the-incoming-changes-for-an-unloaded-component
For a private build I just checked that apparently the build accesses the users repository workspace and uses the same load options. Only the components available in the repository workspace would be used. If the build definition excludes components they will not be loaded.
However, if the repository workspace contain components that are not in the stream (and can therefore not be selected for filtering) I would assume them to be loaded nonetheless.