jira.codehaus.org

  • Log In Access more options
    • Online Help
    • Keyboard Shortcuts
    • About JIRA
    • JIRA Credits
    • What?s New
  • Dashboards Access more options (Alt+d)
  • Projects Access more options (Alt+p)
  • Issues Access more options (Alt+i)
  • RVM
  • RVM-364

ant real-clean doesn't clean up fully

  • Log In
  • Views
    • XML
    • Word
    • Printable

Details

  • Type: Bug Bug
  • Status: Resolved Resolved
  • Priority: Minor Minor
  • Resolution: Fixed
  • Affects Version/s: None
  • Fix Version/s: 3.1.2
  • Component/s: Infrastructure: Build
  • Labels:
    None

Description

With ant real-clean being the strongest clean target, I'd expect it to give me a clean workspace. Not so. Notably the components/components.properties file remains as does the Classpath build tree. This just stopped me building because the paths in components.properties have changed.

This is with my branch. I'll check it on trunk as well soon.

  • Options
    • Sort By Name
    • Sort By Date
    • Ascending
    • Descending
    • Download All

Attachments

  1. File
    RVM-364-attempt1.diff
    06/Aug/11 11:12 AM
    3 kB
    Erik Brangs

Activity

Ascending order - Click to sort in descending order
  • All
  • Comments
  • Work Log
  • History
  • Activity
Hide
Permalink
Peter Donald added a comment - 29/Jan/08 7:45 PM

It was by design as initially we wanted to allow people to independently build the components (and because we wanted to unify components and the external libraries required for testing). "real-clean" which should probably be named "clobber" was just aimed at nuking all distributions, intermediate files and generated files.

I am not sure if we still want independent building of component or not. Even so it would probably be best to create another clean target "really-quite-clean" that did "real-clean" aswell as removing components.properties and any generated dirs

Show
Peter Donald added a comment - 29/Jan/08 7:45 PM It was by design as initially we wanted to allow people to independently build the components (and because we wanted to unify components and the external libraries required for testing). "real-clean" which should probably be named "clobber" was just aimed at nuking all distributions, intermediate files and generated files. I am not sure if we still want independent building of component or not. Even so it would probably be best to create another clean target "really-quite-clean" that did "real-clean" aswell as removing components.properties and any generated dirs
Hide
Permalink
Andrew John Hughes added a comment - 31/Jan/08 3:18 AM

Even stranger, if I remove the invallid components.properties manually, it doesn't get regenerated and I can't see any place in the tree where it is generated. Can I get a working build structure again without doing a fresh checkout?

Show
Andrew John Hughes added a comment - 31/Jan/08 3:18 AM Even stranger, if I remove the invallid components.properties manually, it doesn't get regenerated and I can't see any place in the tree where it is generated. Can I get a working build structure again without doing a fresh checkout?
Hide
Permalink
Peter Donald added a comment - 31/Jan/08 4:16 AM

The code to regenerate components.properties is in a macro defined in build/base.xml from memory (setComponentConfig or similar?). Look for a <propertyfile file="${components.file}">... somewhere in that file. This macro is usually called from the "build" target for the particular component (i.e. build/classpath.xml) that is called from "ensure" in same file which is called from the main build file.

Show
Peter Donald added a comment - 31/Jan/08 4:16 AM The code to regenerate components.properties is in a macro defined in build/base.xml from memory (setComponentConfig or similar?). Look for a <propertyfile file="${components.file}">... somewhere in that file. This macro is usually called from the "build" target for the particular component (i.e. build/classpath.xml) that is called from "ensure" in same file which is called from the main build file.
Hide
Permalink
Ian Rogers added a comment - 31/Jan/08 5:23 AM

I normally delete the entire components directory to get it to rebuild (and use the cache to avoid downloading everything again).

Show
Ian Rogers added a comment - 31/Jan/08 5:23 AM I normally delete the entire components directory to get it to rebuild (and use the cache to avoid downloading everything again).
Hide
Permalink
Andrew John Hughes added a comment - 01/Feb/08 6:28 AM

Ian, that does sound like a problem that should be dealt with by the build system. When I look at this stuff it just reminds me why I prefer an autotools system (e.g. the host files have hardcoded paths for binaries).
Is the cache system documented somewhere?

Peter, if it is supposed to work like that, then it seems to be broken I'll delete components.properties from my svn build I did last night and check the result to be sure.

Show
Andrew John Hughes added a comment - 01/Feb/08 6:28 AM Ian, that does sound like a problem that should be dealt with by the build system. When I look at this stuff it just reminds me why I prefer an autotools system (e.g. the host files have hardcoded paths for binaries). Is the cache system documented somewhere? Peter, if it is supposed to work like that, then it seems to be broken I'll delete components.properties from my svn build I did last night and check the result to be sure.
Hide
Permalink
Andrew John Hughes added a comment - 03/Feb/08 1:08 PM

Building trunk and then deleting components/components.properties gives:

BUILD FAILED
/home/andrew/projects/java/classpath/jikesrvm/build.xml:228: The following error occurred while executing this line:
/home/andrew/projects/java/classpath/jikesrvm/build/base.xml:98: Value of classpath.lib.dir property is invalid. (${x86_64-linux.classpath.lib.dir}).

This is without a clean.

Show
Andrew John Hughes added a comment - 03/Feb/08 1:08 PM Building trunk and then deleting components/components.properties gives: BUILD FAILED /home/andrew/projects/java/classpath/jikesrvm/build.xml:228: The following error occurred while executing this line: /home/andrew/projects/java/classpath/jikesrvm/build/base.xml:98: Value of classpath.lib.dir property is invalid. (${x86_64-linux.classpath.lib.dir}). This is without a clean.
Hide
Permalink
Stephan Diestelhorst added a comment - 19/Aug/10 3:55 AM - edited

Bitten by this, too.

Comparing a fresh checkout with the copied over build directory suggests that only the folders components and target differ. Deleting those should be back
to fresh state...

And yes, I think the build chain leaves much to be desired, when one comes from make + X.

Show
Stephan Diestelhorst added a comment - 19/Aug/10 3:55 AM - edited Bitten by this, too. Comparing a fresh checkout with the copied over build directory suggests that only the folders components and target differ. Deleting those should be back to fresh state... And yes, I think the build chain leaves much to be desired, when one comes from make + X.
Hide
Permalink
Erik Brangs added a comment - 06/Aug/11 11:12 AM

Here is an attempt at a patch. The patch introduces two new targets:
1) a new clean target called cleanest that deletes the components
2) a target called purge that deletes everything

The patch is untested because I did not know how I could properly test it.

Show
Erik Brangs added a comment - 06/Aug/11 11:12 AM Here is an attempt at a patch. The patch introduces two new targets: 1) a new clean target called cleanest that deletes the components 2) a target called purge that deletes everything The patch is untested because I did not know how I could properly test it.
Hide
Permalink
David Grove added a comment - 21/Dec/11 8:54 AM

Applied Erik's patch in 10406:fd9c1d08fa64.

Show
David Grove added a comment - 21/Dec/11 8:54 AM Applied Erik's patch in 10406:fd9c1d08fa64.

People

  • Assignee:
    David Grove
    Reporter:
    Andrew John Hughes
Vote (1)
Watch (1)

Dates

  • Created:
    29/Jan/08 4:34 PM
    Updated:
    21/Dec/11 8:54 AM
    Resolved:
    21/Dec/11 8:54 AM
  • Atlassian JIRA (v5.0.4#731-sha1:3aa7374)
  • Report a problem
  • Powered by a free Atlassian JIRA open source license for Codehaus. Try JIRA - bug tracking software for your team.