#60 Fanmake

brian Thu 30 Mar 2006

I added a top level fanmake ruby script to handle the increasing demands of building and testing stuff. Along with this change I restructured the directory structure (to support running Fan code within Tomcat):

fan_home
   lib
     fan
        sys.pod
        sysTest.pod
        web.pod
     java
        sys.jar
        sysTest.jar
        web.jar
    net
        sys.dll
        sysTest.dll
        web.dll

On the java side, bin/fan.jar is not lib/java/sys.jar. Likewise all the .NET natives will move to lib/net. I also changed makenative to generate a .jar file (in addition to rolling it into the pod). We could potentially just point the Tomcat classpath at the pods themselves since technically they are jars with the class files. But for now let's point to lib/java/*.jar.

You can do everything you need to do via fanmake now. To do a clean full build which will generate a .pod and .jar for every module:

fanmake all full
fanmake all full test

The second one will do a full build and run the tests on every module (this is what I always run before a check-in to make sure I didn't break anything). You can replace "all" with a pod name. The fanmake usage:

usage:
  fanmake <podName|all> <target> [target]*
targets:
  pod     run fanc to build specified pod
  jar     build native jar
  clean   clean any derived files
  full    clean+pod+jar
  test    run fant for specified pod

andy Wed 31 May 2006

I've found fanmake too long to type, I vote we shorten it to something else - fake?

brian Wed 31 May 2006

I vote fake too then unless John can suggest something better.

brian Sun 4 Jun 2006

fanmake.rb is now renamed to fake.rb

Login or Signup to reply.