It's all about the answers!

Ask a question

ANT task to get list of files in change sets


Mike Wiegand (6) | asked Aug 18 '10, 5:18 p.m.
Is there an ANT task to get a list of files that are in the change sets accepted in a build repository workspace? After running teamAccept and teamFetch, I would like to get a list of files that have changed for this build. Our build scripts use this list to FTP artifacts to a build distribution server. We currently have this running for CVS builds and I would like to implement the same functionality for RTC builds so that I can seamlessly migrate projects from CVS to RTC.

Thanks.

5 answers



permanent link
Geoffrey Clemm (29.3k23035) | answered Aug 18 '10, 10:47 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
Have you considered running an RTC build engine on your build
distribution server, and use this to "pull" the changes to the build
distribution server, rather than trying to "push" them to that server?
This is likely to both be more reliable and more efficient.

Cheers,
Geoff

On 8/18/2010 5:22 PM, wiegs wrote:
Is there an ANT task to get a list of files that are in the change
sets accepted in a build repository workspace? After running
teamAccept and teamFetch, I would like to get a list of files that
have changed for this build. Our build scripts use this list to FTP
artifacts to a build distribution server. We currently have this
running for CVS builds and I would like to implement the same
functionality for RTC builds so that I can seamlessly migrate
projects from CVS to RTC.

Thanks.

permanent link
Mike Wiegand (6) | answered Aug 19 '10, 3:23 p.m.
Thanks for the quick response. A few follow-up questions/comments:

- The current scripts build all 50 EARs in the release and then look to see what changed, to determine what needs to be copied to the build dist server. Does the RTC Build engine identify which artifacts have been changed by a change_set?

- Our build server is Windows while the build distribution server is AIX. I suspect I will need to write some additional scripts pull the artifacts to a Windows machine, then ftp them to AIX.

My life would be easier (at least in the short term) if RTC had an ANT task to generate a list of files that changed in a group of change_sets. I see the list of files changed in the Eclipse GUI, but I don't know if that functionality has been exposed via ANT tasks. Does anyone have more information?

Thanks

Have you considered running an RTC build engine on your build
distribution server, and use this to "pull" the changes to the build
distribution server, rather than trying to "push" them to that server?
This is likely to both be more reliable and more efficient.

Cheers,
Geoff

On 8/18/2010 5:22 PM, wiegs wrote:
Is there an ANT task to get a list of files that are in the change
sets accepted in a build repository workspace? After running
teamAccept and teamFetch, I would like to get a list of files that
have changed for this build. Our build scripts use this list to FTP
artifacts to a build distribution server. We currently have this
running for CVS builds and I would like to implement the same
functionality for RTC builds so that I can seamlessly migrate
projects from CVS to RTC.

Thanks.

permanent link
Geoffrey Clemm (29.3k23035) | answered Aug 19 '10, 9:50 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
Probably need a bit more info. For example:

When you say "which artifacts have been changed by a change set", are
you talking about the EAR files, or about the source files that were
used to build the EAR files? The change-sets will contain source files,
unless you also check in the EAR files.

What is stored on the build distribution server ... source files, EAR
files, or both?

What are the clients that use the artifacts from the build distribution
server? Test machines? Other build machines?

Cheers,
Geoff

On 8/19/2010 3:37 PM, wiegs wrote:
Thanks for the quick response. A few follow-up questions/comments:

- The current scripts build all 50 EARs in the release and then look
to see what changed, to determine what needs to be copied to the
build dist server. Does the RTC Build engine identify which
artifacts have been changed by a change_set?

- Our build server is Windows while the build distribution server is
AIX. I suspect I will need to write some additional scripts pull the
artifacts to a Windows machine, then ftp them to AIX.

My life would be easier (at least in the short term) if RTC had an ANT
task to generate a list of files that changed in a group of
change_sets. I see the list of files changed in the Eclipse GUI, but
I don't know if that functionality has been exposed via ANT tasks.
Does anyone have more information?

Thanks


gmclemmwrote:
Have you considered running an RTC build engine on your build
distribution server, and use this to "pull" the changes to
the build
distribution server, rather than trying to "push" them to
that server?
This is likely to both be more reliable and more efficient.

Cheers,
Geoff

On 8/18/2010 5:22 PM, wiegs wrote:
Is there an ANT task to get a list of files that are in the change
sets accepted in a build repository workspace? After running
teamAccept and teamFetch, I would like to get a list of files that
have changed for this build. Our build scripts use this list to
FTP
artifacts to a build distribution server. We currently have this
running for CVS builds and I would like to implement the same
functionality for RTC builds so that I can seamlessly migrate
projects from CVS to RTC.

Thanks.


permanent link
Nick Edgar (6.5k711) | answered Aug 20 '10, 9:48 a.m.
JAZZ DEVELOPER
You can run JBE on AIX. See:
https://jazz.net/wiki/bin/view/Main/BuildFAQ#OtherPlatforms

If the build definition is configured for Jazz Source Control, it then takes care of doing the accept/fetch before invoking the main part of the build (e.g. Ant or command line).

When doing the load, it only reloads those files that have been changed/added.
For more details, see:
https://jazz.net/wiki/bin/view/Main/BuildFAQ#How_should_my_source_code_be_loa

If you really are constrained to use the Ant tasks instead of JBE, then you can get a list of the change sets by specifying changeSetFile="changes.txt" in the teamAccept task invocation. The file format is:
1st line: workspace item id
remaining lines: change set item id

And it's possible to list the files in the change sets using the SCM CLI. See:
https://jazz.net/wiki/bin/view/Main/BuildFAQ#ScmCli

However, the JBE approach would be -much- simpler.

Regards,
Nick

permanent link
Nick Edgar (6.5k711) | answered Aug 20 '10, 9:51 a.m.
JAZZ DEVELOPER
See also the support we're adding in 3.0 for a generateChangeLog Ant task:
https://jazz.net/wiki/bin/view/Main/BuildFAQ#ChangeLog

Your answer


Register or to post your answer.