Max Did It
Coding
,Fri
Post the First Comment
Tagged ,

Inheriting From Ivy XML Files

I have now talked about how you can publish artifacts to your local repository and how Ivy resolves dependencies for your project.

As mentioned, Ivy uses the ivy.xml to know what files and libraries your project depends on. Ivy tries to retrieve these and will copy them into your project folder.

In another post, I have described how I keep my Ant build.xml files small and clean by putting targets I use often into central files. But not only build.xml files can contain information you need time and time again. Certain dependencies or Ivy settings might be used in many projects, and I don't want to copy them around, either.

Matryoshka Dolls

© 2012 Max Knoblich


Maven has parent POM files, which are pom.xml files you can inherit from. All settings, dependencies, plugins etc. from the parent POM are used and can be extended or overwritten. With this, you can create a hierarchy of build files that you can combine as needed.

Ivy has a similar mechanism, though it is not as refined as Maven's. Still, you can use it to put often used dependencies in "parent Ivy XMLs".

Read more...

Coding
,Sat
1 Comment
Tagged ,

Resolve Dependencies With Ivy

In my last post, I wrote about how you can use Apache Ivy to automatically store your compiled components and libraries in a local repository. Now, why should you even do that? What's the point?

The point is, that now you can use Ivy to

  • automatically copy the libraries you need into your project's folder structure,
  • always retrieve the latest version of a library,
  • download libraries from remote repositories, provided you have access and
  • get dependencies that aren't even in any of your repositories.
Ivy: Work, Work

"Work, Work". Apache Ivy can take a bunch of manual tasks off your hands. © 2012 Max Knoblich

This is how I use Ivy to make working with libraries easier:
Read more...

Coding
,Thu
2 Comments
Tagged ,

Committing Artifacts with Ivy

In my last post, I talked about the build automatisation tool Apache Ant. Ant originated as a tool for Java developers and has been succeeded by Maven, which provides many nice features like dependency management.

Imagine you wouldn't have to download and copy any libraries into your project path and configure the classpath every time you start a new project or a new version of a library comes out. What if you had a tool that did that automatically for you? Maven does that, and more.

The Trouble With Flash And Maven

I guess for a Java developer there is currently no good reason to use Ant instead of Maven, but if you work with Actionscript or Flex, things are a little more complicated. Right now, FlexMojos is the only current plugin for Maven that allows you to compile SWF or SWC files.

Now, when FlexMojos happens to do what you want it to do, it's great! It's convenient and you can set up projects with unit tests and code coverage very quickly. However, if FlexMojos doesn't do what you expect it to, and that still happens quite often, you will have a very hard time figuring out what the problem is and how to fix it.

Because of this, I decided to keep using Ant to build my Actionscript projects for the moment. However, you can use Maven's automatic dependency management feature in Ant build scripts as well.

Read more...