Article: Introducing the Savant Build System

Discussions

News: Article: Introducing the Savant Build System

  1. Article: Introducing the Savant Build System (21 messages)

    Savant, an extension to the Ant build system, is a collection of tasks and types that allow projects to declare their dependencies, perform common tasks on these dependencies (such as copy) and publish items that the project produces. In this article, Brian Pontarelli introduces Savant and demonstrates how Savant helped alleviate the build pains of the Inversoft Verge projects.

    Read Ant + Dependencies = Savant

    Threaded Messages (21)

  2. JAM + MAVEN for dependencies[ Go to top ]

    I have been working with JAM for a while now and I believe that it has a great way of managing artifacts because:

    1. It makes use of MAVEN which uses one repository where all the artifacts ,libraries are stored. This means that all the projects have their artifacts stored in the same place.

    2. The JAM-ANT build.xml script imports a classpath.xml file (which holds all the library information) which is itself generated from a MAVEN POM file . The POM file holds all the dependency information about the artifacts stored in the MAVEN repository.

    This way you use teh good points of both ANT and MAVEN to manage your builds and artifacts.This is really great for cross-project integration.

    resource: http://www.javagen.com
  3. Brian,

    I started to read your excellent article, and am excited about this new tool.

    However, one has to scroll ones screen over far to the right in IE or in Mozilla.

    Is there any way the server side can correct the formatting of this article so that it can be enjoyed more easily by the community?

    Thanks,

    Chris
  4. have you tried "PRINTER FRIENDLY VERSION" at the end of the article, it worked for me
    However, one has to scroll ones screen over far to the right in IE or in Mozilla.Is there any way the server side can correct the formatting of this article so that it can be enjoyed more easily by the community?Thanks,Chris
  5. Brian,I started to read your excellent article, and am excited about this new tool.However, one has to scroll ones screen over far to the right in IE or in Mozilla.Is there any way the server side can correct the formatting of this article so that it can be enjoyed more easily by the community?Thanks,Chris
    Just to respond to everyone about the formatting, I wrote to my friend at TSS about the scrolling and the layout and I'm hoping that they can fix that problem today.
  6. I have been working with JAM for a while now and I believe that it has a great way of managing artifacts because:1. It makes use of MAVEN which uses one repository where all the artifacts ,libraries are stored. This means that all the projects have their artifacts stored in the same place.2. The JAM-ANT build.xml script imports a classpath.xml file (which holds all the library information) which is itself generated from a MAVEN POM file . The POM file holds all the dependency information about the artifacts stored in the MAVEN repository.This way you use teh good points of both ANT and MAVEN to manage your builds and artifacts.This is really great for cross-project integration.resource: http://www.javagen.com
    I haven't looked into JAM or the Maven/Ant configuration that you are talking about. I'll have to check that out. I think the major problem I have with Maven is the single artifact per project problem. Once they fix that and ditch jelly, Maven might be back on my list.
  7. why?[ Go to top ]

    Why do TSS articles open in new windows when they are on the same site? One of the many annoying features of the site along with the dreadful forum software...
  8. why?[ Go to top ]

    Use a tabbled browser :)
  9. Re: why?[ Go to top ]

    Even thou I use Firefox, I agree 100%.
    YOU should choose where to open the links you click, not the site's webmaster.

    []'s
    Daniel Serodio
  10. why?[ Go to top ]

    Why do TSS articles open in new windows when they are on the same site? One of the many annoying features of the site along with the dreadful forum software...


    not to mention having the article too wide for laptops (or any monitor running at 1024 x 768).
  11. why?[ Go to top ]

    lol, i didn't even get to read the article, had to read the printable version on my laptop too :(. In relation to tabbed browsers, I use firefox, still opens a new window (don't tell me about click to open in new tab, the article is on the same site and should open in the same tab/window).
  12. why?[ Go to top ]

    Use this "Single Window 1.0" plugin with Mozilla / Firefox to force links which normally load in a new window to load in a new tab. There are other great plugings at this page for other annoying little things like this.

    http://update.mozilla.org/extensions/showlist.php?type=E&application=firefox&category=Tabbed%20Browsing&numpg=
  13. Savant or Maven?[ Go to top ]

    I have been using Maven for a while now, and think its pretty good for managing projects. The thing that shines for me is the dependancy checking. Although it would be LOADS better if it did recursive checking for dependancies of dependancies.

    Does anybody have any experience of other build tools that improves on maven in this respect?

    Have to say , IMO jelly is a complete nightmare.
    :-)

    N
  14. Savant or Maven?[ Go to top ]

    I have been using Maven for a while now, and think its pretty good for managing projects. The thing that shines for me is the dependancy checking. Although it would be LOADS better if it did recursive checking for dependancies of dependancies. Does anybody have any experience of other build tools that improves on maven in this respect?Have to say , IMO jelly is a complete nightmare.:-)N
    This is a planned feature for a future Maven release, I'm not sure if it will be Maven 1.1 or 2.0. I agree, it's badly needed.

    I have been using Maven on my project for 6 months now. I've went through a lot of the growing pains but it's stabilized and is working great for us. I also think it's good to have other competitive tools. Maven has great ideas but it's not perfect. If other tools build on the Maven concepts and expand them, these new concepts will find their way back to Maven. And developers using any of the tools will benefit.

    -Michael Mattox
  15. Savant or Maven?[ Go to top ]

    I have been using Maven for a while now, and think its pretty good for managing projects. The thing that shines for me is the dependancy checking. Although it would be LOADS better if it did recursive checking for dependancies of dependancies. Does anybody have any experience of other build tools that improves on maven in this respect?
    Hasn't Make done this for the last 25 years or so? And all other decent build tools?
  16. Make and other build tools[ Go to top ]

    Hasn't Make done this for the last 25 years or so? And all other decent build tools?
    The advantage of Maven and I guess Savant is it reduces the amount of things you have to write. The less you have to write the less you (or your replacement would have to maintain).

    The advantage of using relatively standardized tools (esp open source ones) is it makes it easier to find people off the streets who would know how to use the tools rather than having your own training staff to teach your own custom build system.

    [sarcasm]Of course you can make things fully customized and specific to your application, it would guarantee you have a job until the system gets replaced by something else which tends to be a long time so maybe we could ask why bother making things simple for other people? :D[/sarcasm]
  17. Savant or Maven?[ Go to top ]

    I have been using Maven for a while now, and think its pretty good for managing projects. The thing that shines for me is the dependancy checking. Although it would be LOADS better if it did recursive checking for dependancies of dependancies. Does anybody have any experience of other build tools that improves on maven in this respect?
    Hasn't Make done this for the last 25 years or so? And all other decent build tools?
    Make doesn't support any dependency checking of artifacts and versions unless you build it yourself. Most of the other build tools don't support this either. That is why Maven and a few others, like Savant, are gaining momentum, because they attack a problem that historically hasn't been solved and has plagued every large project for a long time.
  18. Savant or Maven?[ Go to top ]

    I have been using Maven for a while now, and think its pretty good for managing projects. The thing that shines for me is the dependancy checking. Although it would be LOADS better if it did recursive checking for dependancies of dependancies. Does anybody have any experience of other build tools that improves on maven in this respect?Have to say , IMO jelly is a complete nightmare.:-)N
    Savant does recursive dependencies like this. You can specify the dependencies of an artifact when you are publishing that artifact. Then, when another project uses that artifact, it automatically uses all of that artifacts dependencies as well. If you need this functionality, I suggest using Savant.
  19. I like the overall concept .. modules are importing and exporting artifacts.

    What I don't understand is what you call "workflow". Isn't that a duplication of the functionality of an ant script? Couldn't I call just another ant script instead?

    Holger
  20. It would be interesting to hear comments from the guys running the depot project (http://incubator.apache.org/depot/index.html).

    Looks like the depot project was created by the same people who created centipede from which the import task (now in ant 1.6) was originally created.

    It would be nice to know if depot is ready from prime time or not.
  21. Modularizing builds[ Go to top ]

    Just finished reading the article. We will definitely do a spike in one of our projects to try savant.

    One thing that is not covered in the article and I would like to know if savant handles the following.

    With ant 1.6, we can start modularizing the build (macros, import task, etc) and reuse pieces of builds accross projects. It would be nice to be able to version these pieces and define them as dependencies that would be automatically resolved.

    Cheers,
    François
  22. Article link is broken[ Go to top ]

    There seems to be some problem retrieving the article:

    Error reading content of '/articles/content/Savant/article.html': sun.io.MalformedInputException