Fixed a bug in the build system where Aristo would sometimes not build on the first run.

Reviewed by me.
This commit is contained in:
Francisco Ryan Tolmasky I
2009-03-21 17:03:16 -07:00
parent a1b680b722
commit f58940d92d
2 changed files with 16 additions and 29 deletions
+16 -7
View File
@@ -6,9 +6,11 @@ require 'objective-j'
require 'objective-j/bundletask'
$BUILD_PATH = File.join($BUILD_DIR, $CONFIGURATION, 'AppKit')
$ENVIRONMENT_PRODUCT = File.join($ENVIRONMENT_FRAMEWORKS_DIR, 'AppKit')
$THEME_PRODUCT = File.join($BUILD_PATH, 'Resources', 'Aristo.blend')
$BUILD_PATH = File.join($BUILD_DIR, $CONFIGURATION, 'AppKit')
$ENVIRONMENT_PRODUCT = File.join($ENVIRONMENT_FRAMEWORKS_DIR, 'AppKit')
$THEME_PRODUCT = File.join($BUILD_PATH, 'Resources', 'Aristo.blend')
$ENVIRONMENT_THEME_PRODUCT = File.join($ENVIRONMENT_PRODUCT, 'Resources', 'Aristo.blend')
AppKitFiles = FileList['**/*.j'].exclude('CoreGraphics/CGContextCanvas.j', 'CoreGraphics/CGContextVML.j', 'Themes/**', 'Tools/**')
@@ -27,20 +29,27 @@ ObjectiveJ::BundleTask.new(:AppKit) do |t|
t.platforms = [ObjectiveJ::Platform::Browser, ObjectiveJ::Platform::Rhino]
end
#Framework in environment directory
file_d $ENVIRONMENT_PRODUCT => [:AppKit, $THEME_PRODUCT] do
# It would be nice to just have ENVIRONMENT_PRODUCT depend on THEME_PRODUCT,
# but this would be a circular dependency because THEME_PRODUCT needs
# ENVIRONMENT_PRODUCT up-to-date since it runs an objj application that uses
# AppKit.
file_d $ENVIRONMENT_PRODUCT => [:AppKit] do
cp_r(File.join($BUILD_PATH, '.'), $ENVIRONMENT_PRODUCT)
end
file_d $ENVIRONMENT_THEME_PRODUCT => $THEME_PRODUCT do
cp_r(File.join($THEME_PRODUCT, '.'), $ENVIRONMENT_THEME_PRODUCT)
end
ThemeFiles = FileList['Themes/Aristo/*']
file_d $THEME_PRODUCT => ThemeFiles do
file_d $THEME_PRODUCT => ThemeFiles << $ENVIRONMENT_PRODUCT do
File.popen("blend -d Themes/Aristo/ThemeDescriptors.j -o #{$THEME_PRODUCT} -R Themes/Aristo/Resources") do |blend|
puts blend.read
end
end
task :build => [:build_subprojects, :AppKit, $ENVIRONMENT_PRODUCT, $THEME_PRODUCT]
task :build => [:build_subprojects, :AppKit, $ENVIRONMENT_PRODUCT, $THEME_PRODUCT, $ENVIRONMENT_THEME_PRODUCT]
task :clean => :clean_suprojects
-22
View File
@@ -1,22 +0,0 @@
<?xml version = "1.0"?>
<project name = "Aristo" default = "build" basedir = "." >
<import file = "../../../common.xml" />
<import file = "${env.OBJJ_LIB}/steam/steam.xml" />
<target name = "clean" depends = "steam-uptodate">
</target>
<target name = "build" depends = "steam-uptodate">
<exec executable = "objj">
<env key = "OBJJ_INCLUDE_PATHS" value = "${Build}/${Configuration}-Rhino:${Build}/${Configuration}" />
<arg line = "${Build}/Release/blend/main.j -d ThemeDescriptors.j -o ${Build}/${Configuration}/AppKit/Resources/Aristo.blend -R Resources" />
</exec>
<steam-inline-bundle bundle = "${Build}/${Configuration}/AppKit" />
</target>
</project>