0

Situation:

I need several swf/exe output files compiled in FlashDevelop from several projects. More than 60% of ActionScript 3.0 source is common for all project, rest are project-specific. How can I organize that in FlashDevelop? I want to have "one-click-to-build all" setting without duplicating common codebase (so when I need to fix something I do not need to copy-paste solution into several files).

All sources are under develeopment and will change very often.

PiotrK
  • 4,210
  • 6
  • 45
  • 65
  • @TZHX, can you be a bit more specific (I don't understand how externals could help here) and write this as answer? – PiotrK Oct 15 '12 at 18:17

2 Answers2

1

Using svn:externals you could structure your repository in such a way that the commom parts are stored just once in the source control system, so changes made can be synchronised with just a single commit and update cycle.

For example, imagine that you have ^/ProjectA and ^/ProjectB, each of with require ^/Common as a sub directory.

Using svn:externals, pull ^/Common into both projects.

The exact nature of doing this will depend on the version of svn you use, and any client you use (such as TortoiseSvn). Refer to the relevant edition of the svn book for specifics.

The ease of implementing this will depend quite a lot on how separate the common code currently is in your application; and pulling in directories as directories is much more practical than trying to pull them into an existing directory; and unfortunately wildcards for filepaths are not supported.

However, based on your description of your aim; this is the most straight-forward solution I can imagine.

Hope this helps.

TZHX
  • 5,291
  • 15
  • 47
  • 56
1

A straightforward solution is to make an external classpath, for instance:

  • c:\dev\shared_src\
  • c:\dev\project1\
  • c:\dev\project2\

Then configure each project:

  • Project Properties > Classpath
  • Add Classpath > select '../shared_src'

PS: of course you should keep everything under source control.

Philippe
  • 2,621
  • 1
  • 19
  • 20