#2524 [ANN] Fantom Pod Manager

SlimerDude Sat 9 Apr 2016

FPM Released!

Fantom Pod Manager (FPM) provides a targeted environment for compiling, testing, and running Fantom applications.

It is one of those boring system libraries you quickly find you can't do without!

fanr install -r http://eggbox.fantomfactory.org/fanr/ afFpm

A typical Fantom installation only allows one version of any given pod. This works fine if you're just developing and running the one application. But if you're developing multiple applications, each requiring different versions of the same pod; then you either need multiple Fantom environments, one for each application, ... or you need FPM.

FPM maintains a local fanr file repository of Fantom pods, where it keeps multiple versions of the same pod. When a Fantom application is built, test, or run via FPM; then from that repository, FPM cherry picks just the pod versions you need.



Have fun!

DevMal Sat 9 Apr 2016

Cool! I don't know if your familiar with the Python programming langauge but this pod kind of remind me of its virtialenv module. This will definitely come in handy.

SlimerDude Mon 11 Apr 2016

Hi DevMal,

Not being a Python developer I'd not heard of virtualenv before, but reading about it, yeah, it does seem similar.

Although with virtualenv it sounds like you have to manually set up your environment. With FPM, it automatically creates the environment dependent on what's being run.

FPM is the beginnings of a package manager, but reading the article below, I may have given myself more work than intended!

So you want to write a package manager?

You woke up this morning, rolled out of bed, and thought, “Y’know what? I don’t have enough misery and suffering in my life. I know what to do  -  I’ll write a language package manager!”


SlimerDude Fri 8 Jun 2018

FPM v2.0.0 Released

This all new Fantom Pod Manager not only dynamically creates Fantom environments by cherry picking pod versions, but the dependency resolution algorithm is now x12 faster!

As a pod manager, FPM can upload and download pods to and from local / remote fanr repositories. FPM also does offers more advanced management options such as:

  • ...update all dependencies for a pod
  • ...update all dependencies for a build.fan
  • ...copy project dependencies in to a directory
  • ...install a directory of pod files to a repository (useful for importing the latest release of SkySpark!)

FPM - the boring system library you can't do without.

Login or Signup to reply.