--
You received this message because you are subscribed to the Google Groups "Scala Fresh" group.
To post to this group, send email to scala...@googlegroups.com.
To unsubscribe from this group, send email to scala-fresh...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/scala-fresh?hl=en.
--
There are a couple of source driven automatic build system which use
foreign sources. For instance: MacPorts & Portage (Gentoo APT). Also
the same problem has to be solved by every Linux distribution to build
their binary packages. The usual approach is that you have a source
release (for these technologies in the form of an archive), and then
you apply a patch on top of that which takes care of the necessary
customizations for the environment you want to build for.
I think that a similar approach based on patches might be better than
a fork of the whole source:
* Any necessary modifications for build/dependency configuration are
really easy with a patch
* You can also easily add an alternate build system (the new file is
in the patch)
* The patch can be independently version controlled! Although using
git as an SCM for your fork is easy, if you are yourself already on
git, if you use something else as SCM, you might not be very happy
about having a complete fork of your sources just for changing one or
two files.
Actually if you guys would agree on a standard way to build
Scala-Fresh components, then either you put the patches in a
Scala-Fresh repository and all of the maintainers are contributors to
that repository (MacPorts & Portage work like this), or even better,
you define how to look up the patch within a source archive of the
component (eg '.scala-fresh/build.patch') which gets applied to the
base of the archive, and then you don't even need to have a separate
repository, as every library can bootstrap itself from the sources.
Just my 2 cents.
Cheers,
Daniel
2010/6/24 Maxime Lévesque <maxime....@gmail.com>:
i) How will the source code of various project be fetched ?
ii) Does anyone see any value in having staging source repositories ?
What I mean by this is that each tool could have a GIT fork (on github for example)
that get updated at each important realease. These forks could have an altered
version of their build code (SBT, Maven, etc...) that is configured and or altered to meet the needs of
ScalaFresh. There could be a special build hook (in the form of a trait) for
projects having non standard builds.
The value I would see in doing this is that :
- each project owner can control which version goes in the Fresh repos. It could also sub
- projects that have hardcoded build configs can continue to do so, the fork will just
have overriden value for these configs.
- ScalaFresh only needs to specify how a build behavior needs to be altered, and project owners
can do this alteration in the Fork.
I have the scalaprojects.org and scalaprojects.com domains, if they're any use; though I do have other (related) plans for these.My gut feeling though?We should probably just register scala-fresh in its own right, maybe even point it back to the same server as scala-tools and use a spot of virtual hosting.