mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-09-20 01:13:29 +00:00
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:
+16
-7
@@ -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
|
||||
|
||||
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user