Commit Graph

696 Commits

Author SHA1 Message Date
Yonas Kolb
4062b6c883
Merge pull request #500 from lukewakeford/build_script_xcfilelist
Adding input and output file lists to build script spec
2019-01-25 08:37:33 +11:00
Ell Neal
6589b840f6
Add option to revert to legacy path behaviour 2019-01-24 13:46:55 +00:00
Ell Neal
d2579bfe43
Refactor the PathContainer protocol to be a bit more expressive 2019-01-24 12:50:34 +00:00
Yonas Kolb
93f5492d4c update objectVersion from 46 to 50 2019-01-24 23:34:54 +11:00
Luke Wakeford
df0e396b75 Adding input and output file lists to build script spec 2019-01-23 14:40:45 +00:00
Yonas Kolb
e24fd1b68e update Xcode compatibility version 2019-01-22 15:56:42 +11:00
Yonas Kolb
7581653b85 fix tools not being added as executables in schemes 2019-01-22 15:44:55 +11:00
Ell Neal
151d78ef98
Rename PathContaining -> PathContainer 2019-01-21 13:32:13 +00:00
Ell Neal
05a564c324
Use normal imports 2019-01-21 13:12:14 +00:00
Rogerio de Paula Assis
e6e8b58db4 Fixes issue with sticker pack targets generating redundant compile sources build phase 2019-01-15 22:57:22 -05:00
Ell Neal
ccf002f8bf
Consistent default value and guard check 2019-01-15 12:27:13 +00:00
Ell Neal
8f4c0953b3
Add back deleted public functions and deprecate (prevent breaking public API) 2019-01-15 12:26:47 +00:00
Ell Neal
a7e1554115
Expand paths when initializing the Project model from a Spec 2019-01-13 18:22:56 +00:00
Ell Neal
98aeef46dc
Implement PathContaining on relevant models 2019-01-13 18:22:34 +00:00
Ell Neal
f9df768ec0
Add a PathContaining protocol for expanding paths to the source file's directory 2019-01-13 18:18:48 +00:00
Ell Neal
a2684a96a4
Replace global merge function with extension on Dictionary 2019-01-13 18:16:17 +00:00
Ell Neal
8928088dfe
Use the Spec struct rather than dictionaries directly 2019-01-13 18:14:52 +00:00
Ell Neal
c90e045bc8
Add a project spec struct to abstract spec files on disk 2019-01-13 18:08:35 +00:00
Ell Neal
a9ecef37bc
Remove the $(CURDIR) expansion (it was a bad idea) 2019-01-13 18:06:05 +00:00
Ell Neal
05fa244a89
Add $(CURDIR) helper to expand the base path of the spec file 2019-01-10 11:43:04 +00:00
Yonas Kolb
43db3254d6
Merge pull request #482 from ksulliva/xcodeproj_dependency
Update Linkage to handle additional PBXProductType case from xcodeproj
2019-01-10 20:04:53 +11:00
Daniel Ericsson
40c472112d
Fix writing to a project path 2019-01-09 00:41:28 +01:00
Kevin Sullivan
79caa6920d Merge branch 'master' into xcodeproj_dependency
# Conflicts:
#	CHANGELOG.md
2019-01-08 09:21:31 -06:00
Beniamin Sarkisian
3fec403411 Fixed bugs 2019-01-08 16:55:46 +03:00
Kevin Sullivan
9d3263a377 Update Linkage to handle additional PBXProductType case from xcodeproj 2019-01-07 12:28:43 -06:00
Beniamin Sarkisian
976841ba40 Changed the default value of generateEmptyDirectories option to false 2019-01-07 15:27:17 +03:00
Beniamin Sarkisian
e387ee52a8 Added an abbility to generate empty directories 2019-01-07 13:50:23 +03:00
Yonas Kolb
cf703cd66d Update to 2.1.0 2018-12-18 22:40:57 +11:00
Yonas Kolb
f04c3e0496 format code 2018-12-18 22:37:22 +11:00
Yonas Kolb
c8db304024 update docs 2018-12-18 22:16:45 +11:00
Yonas Kolb
f061c03e6a Merge master into lockfile 2018-12-18 20:54:38 +11:00
Yonas Kolb
f87642c938 get xcodegen working with arguments and without generate for backwards compatability 2018-12-18 20:25:03 +11:00
Brentley Jones
0617337a94 Allow static libraries to see external framework in search paths 2018-12-17 09:37:48 -06:00
Brentley Jones
f3e5aa9083 Treat SDK same as framework for skipping staticLibrary 2018-12-17 09:36:14 -06:00
Yonas Kolb
009a3ec2cb
Merge pull request #452 from yonaskolb/test_host
Generate TEST_HOST
2018-12-16 19:16:28 +11:00
David W. Berry
7e2c870762 Add mlmodel to compiled file extensions (#457) 2018-12-13 13:03:46 -06:00
Yonas Kolb
ed80164a4d fix project not generating if private settings are checked in 2018-12-05 19:36:01 +11:00
Yonas Kolb
c7a1ecd73d generate TEST_HOST for unit tests 2018-12-05 19:13:58 +11:00
Yonas Kolb
12aea54878 generate TestTargetID project attributes for unit tests 2018-12-05 19:13:27 +11:00
Yonas Kolb
c4b9b19a96 add cache-path argument 2018-12-01 18:45:06 +11:00
Yonas Kolb
281a12434d
Merge branch 'master' into fix-issue-440 2018-12-01 18:09:30 +11:00
Bryan Summersett
ea5b992745 Use process unique temporary so we don't get duplicate temporary path writes 2018-11-29 20:30:05 -08:00
feischl97
8f9e891fce
Merge branch 'master' into fix-issue-440 2018-11-26 13:26:43 +01:00
feischl97
3461bc2835 refactor if 2018-11-26 12:25:39 +01:00
Paul Feischl
58511de01b add check if INFOPLIST build setting is already defined 2018-11-23 09:13:21 +01:00
Yonas Kolb
f022d1edc9 add .intentdefinition to sources by default 2018-11-22 21:55:53 +11:00
Yonas Kolb
463ecc7e49 build phase white space 2018-11-22 21:50:39 +11:00
Yonas Kolb
20eaafd246 Merge master into lockfile 2018-11-12 23:07:29 +11:00
Yonas Kolb
b438c5e491 remove some emoji from output 2018-11-11 13:25:07 +11:00
Yonas Kolb
07cd5a4a0b add XcodeGenCLI 2018-11-11 00:42:21 +11:00
Yonas Kolb
4b9edceb18 don't fail if cache file can't be created 2018-11-08 21:37:37 +11:00
Yonas Kolb
8b5ac6f885 check if project exists before reading from cache 2018-11-08 21:37:37 +11:00
Yonas Kolb
0644f18f0b add cache fixture perf test 2018-11-08 21:37:37 +11:00
Yonas Kolb
f9be03ebc8 rename to cache and refactor 2018-11-08 21:36:12 +11:00
Yonas Kolb
ca5ad9bf14 use json for serialization 2018-11-08 21:35:38 +11:00
Yonas Kolb
e30aeee957 add lockfile 2018-11-08 21:35:38 +11:00
Brentley Jones
e6288b49df Remove ability to specify copy files phase ordering 2018-11-05 10:40:25 -06:00
Brentley Jones
ef0c87ecb5 Merge branch 'master' into copy-files-ordering 2018-11-05 10:38:21 -06:00
Alvar Hansen
f5423f1ce3 Changes XPC Service package type to XPC!
Includes app extension as XPC type.
2018-11-05 14:05:57 +02:00
Yonas Kolb
58c400a479 Update to 2.0.0 2018-11-04 22:30:40 +11:00
Yonas Kolb
1631236b7a format_code 2018-11-04 22:30:34 +11:00
Yonas Kolb
f30536a40f fix emoji indentation 2018-11-04 22:26:28 +11:00
Yonas Kolb
7e92db5346 add sdk dependency type 2018-11-04 21:38:07 +11:00
Yonas Kolb
e96c91eecf
Merge pull request #434 from yonaskolb/test_target
Add TestTarget with parallelizable and randomExecutionOrder
2018-11-04 20:31:32 +11:00
Yonas Kolb
e7ef30a241 refactoring 2018-11-03 21:33:27 +11:00
Yonas Kolb
ea2d38ecdd tweak project description 2018-11-03 20:09:46 +11:00
Yonas Kolb
e8feba21ef add TestTarget with parallelizable and randomExecutionOrder 2018-11-03 19:04:28 +11:00
Yonas Kolb
642b116021
Merge pull request #433 from yonaskolb/set_project_sdk_root
Automatically set project SDK root if there is only a single platform
2018-11-03 16:19:58 +11:00
Yonas Kolb
0efe954f34 automatically set project SDK root if there is only a single platform 2018-11-02 19:37:45 +11:00
Yonas Kolb
ff9d1acdee make carthage dependencies listen to link 2018-11-02 19:16:02 +11:00
Yonas Kolb
db616db18b
Merge pull request #431 from yonaskolb/config_setting_validation
Validate incorrect config settings definitions
2018-11-02 19:01:48 +11:00
Yonas Kolb
3eaed1ec7c validate incorrect config settings definitions 2018-11-02 18:50:13 +11:00
Dan Fleming
95e09181c6 Fix issue with legacy target fileref 2018-10-31 11:11:55 -04:00
Yonas Kolb
0cf2ca9fa0 only write plists if file has changed 2018-10-30 22:22:51 +11:00
Yonas Kolb
3d87c61342 plist error handling 2018-10-30 22:22:51 +11:00
Yonas Kolb
eef1dc473e rename Plist.attributes to properties 2018-10-30 21:47:16 +11:00
Yonas Kolb
26106a04b3 refactor file writing 2018-10-30 00:52:24 +11:00
Yonas Kolb
228ab6620b generate info plist and entitlements 2018-10-30 00:44:12 +11:00
Yonas Kolb
885d5fb8c1
Merge pull request #423 from yonaskolb/xcode_10
Update generated project defaults to xcode 10 and swift 4.2
2018-10-19 09:37:15 +11:00
Yonas Kolb
d3188a83ff extract scheme generator 2018-10-19 00:29:45 +11:00
Yonas Kolb
839bfa13c1 change generated versions to xcode 10 and swift 4.2 2018-10-18 23:20:00 +11:00
Yonas Kolb
0fcb3dcc78 use context 2018-10-16 21:35:31 +11:00
Yonas Kolb
c8ce6a52a5 fix cross platform targets 2018-10-15 22:55:59 +11:00
Yonas Kolb
b1b7901f1e don't generate duplicate product file references for cross platform targets 2018-10-14 21:58:19 +11:00
Yonas Kolb
65d82bece6 improve performance by not sorting files that are later sorted 2018-10-12 00:57:13 +11:00
Yonas Kolb
e17bf7d0f2 update xcodeproj 2018-10-11 21:15:13 +11:00
Yonas Kolb
32a36b0e7f update to xcodeproj 6.1.0 2018-10-10 20:26:25 +11:00
Yonas Kolb
39079dd801 Merge origin/master into xcodeproj_5 2018-10-09 23:11:36 +11:00
Yonas Kolb
4b0169e42a sorted command line arguments 2018-10-09 23:08:18 +11:00
Jerry Marino
bf293d6ac6 Use the provided TargetSource.headerVisibility
This was missing in the init - simply use the value provided by the
user.
2018-10-08 13:34:45 -07:00
Yonas Kolb
7db271c525
Merge pull request #416 from yonaskolb/perf-getCombinedBuildSettings
Improve performance of getCombinedBuildSettings
2018-10-08 23:36:32 +11:00
Yonas Kolb
f7966bda39
Merge pull request #417 from yonaskolb/cache-build-settings-misses
Cache config/setting file misses too
2018-10-08 23:32:34 +11:00
Yonas Kolb
07eccc5574 Merge branch 'master' into xcodeproj_5
# Conflicts:
#	Tests/XcodeGenKitTests/ProjectFixtureTests.swift
2018-10-08 23:07:25 +11:00
Yonas Kolb
5bd704392a add projectPath getter 2018-10-08 22:29:15 +11:00
Yonas Kolb
a59b8efb03 fix file comparison 2018-10-08 22:08:49 +11:00
Yonas Kolb
8d6a70bdd0 Merge branch 'master' into xcodeproj_5
# Conflicts:
#	.circleci/config.yml
#	Sources/XcodeGenKit/PBXProjGenerator.swift
#	Tests/Fixtures/TestProject/Project.xcodeproj/project.pbxproj
#	Tests/XcodeGenKitTests/ProjectFixtureTests.swift
#	Tests/XcodeGenKitTests/ProjectGeneratorTests.swift
2018-10-08 22:00:45 +11:00
Yonas Kolb
590128e156 Remove header build files that aren’t in a build phase 2018-10-08 17:29:09 +11:00
Dave Lee
8acea8341c Cache config/setting file misses too 2018-10-05 15:34:12 -07:00
Dave Lee
2bb4a26661 Improve performance of getCombinedBuildSettings 2018-10-05 10:03:18 -07:00
Yonas Kolb
010487ec35 use xcodeproj scheme blueprint 2018-10-04 20:25:18 +10:00
Alvar Hansen
ab0d71d96f Add framework weak linking setting 2018-10-02 11:07:58 +03:00
Yonas Kolb
0116301227 swift_format 2018-10-01 13:19:29 +10:00
Yonas Kolb
1911d42d27 remove reference generator ids 2018-10-01 12:53:16 +10:00
Jerry Marino
243b26a4b0 Make validation of Xcode projects optional
Validation requires several things of the Xcode project, one being that
files are already on disk. In some cases, it's useful to generate
projects containing files that don't exist on disk yet. Additionally,
this is useful for testing purposes, and generating projects on a
machine where the files don't exist.
2018-09-26 10:53:50 -07:00
Yonas Kolb
84f1c65632 update to xcodeproj 6 2018-09-25 23:38:38 +10:00
Yonas Kolb
e97b002655 upgrade to xcodeproj 5 2018-09-25 21:08:11 +10:00
Brentley Jones
296b938e82 Rename prebuildScripts and postbuildScripts
Also cleanup the documentation and add more tests for the newly added `postCompileScripts`.
2018-09-19 09:24:55 -05:00
Brentley Jones
aff1ae20d7 Move Carthage copy-frameworks script earlier
With Xcode 10 run scripts will prevent dependent targets from starting to compile. The Carthage copy-frameworks script should be right after compilation to speed up compilation.
2018-09-19 09:02:52 -05:00
Brentley Jones
e6a0af79a8 Allow specifying phase order for copy files phases
Copy Files phases don't stop dependent targets from starting to compile. If some of the files being copied are needed for the dependent target to compile then they need to happen before the Compile Sources phase. This change allows specifying that.
2018-09-19 09:00:59 -05:00
Brentley Jones
731428ca29 Extract copy files build phase creation
Will be reused similar to `generateBuildScript()` for copy files phases at different orders.
2018-09-19 08:58:49 -05:00
Brentley Jones
ffc6b92f88 Allow specifying run scripts to run right after compilation
With Xcode 10 dependent targets won't start compiling until compilation and all run scripts are done for the target. This means that your run script should run before Copy Files (and Copy Resources, etc.) phases unless it needs to run later, to allow dependent targets to compile faster.
2018-09-19 08:58:49 -05:00
Yonas Kolb
2dbd897b3a Update to 1.11.2 2018-09-19 21:10:25 +10:00
Yonas Kolb
8e3af1e800
Merge pull request #394 from vgorloff/master
Fix for issue https://github.com/yonaskolb/XcodeGen/issues/392.
2018-09-19 19:56:22 +10:00
Vlad Gorloff
69a3f0f930 Eliminated copy/paste code. 2018-09-18 17:17:46 +02:00
Brentley Jones
f46490fcc0 Move Copy Headers phase to be before Compile Sources
Fixes a cyclic dependency issue with the new Xcode 10 build system.
2018-09-14 10:29:25 -05:00
Yonas Kolb
3c07768508 support swift 4.2 2018-09-13 23:05:51 +10:00
Vlad Gorloff
eba2e3ab86 Fix for issue https://github.com/yonaskolb/XcodeGen/issues/392. 2018-09-11 16:57:23 +02:00
Igor Tarasenko
8c434541ff Remove explicit type for the knownRegions variable 2018-08-31 14:42:42 +02:00
Igor Tarasenko
2d2958f078 Set knownRegions to en by default. Fix for #389 2018-08-31 12:58:25 +02:00
Yonas Kolb
6a0c8c8bc9
Merge pull request #383 from yonaskolb/transitive-aggragate-targets
Fix aggregate target dependencies with `transitivelyLinkDependencies`
2018-08-23 00:47:14 +10:00
Brentley Jones
5693717a9f Fix getAllCarthageDependencies for aggregate targets 2018-08-22 09:36:42 -05:00
Brentley Jones
cf19fb27cb Obey embedding rules for transitive aggregate targets 2018-08-22 09:35:59 -05:00
Yonas Kolb
8b0cd5d204 Update to 1.11.1 2018-08-23 00:28:59 +10:00
Brentley Jones
7140f0d8c5 Add Project.getAggregateTarget() 2018-08-22 09:09:08 -05:00
Brentley Jones
ab37654b01 Fix aggregate target dependencies with transitivelyLinkDependencies 2018-08-22 08:56:56 -05:00
Brentley Jones
3ff16ddc53 Quote framework search paths 2018-08-20 09:14:55 -05:00
Yonas Kolb
5673d10c68 Update to 1.11.0 2018-08-19 14:22:48 +10:00
Yonas Kolb
75ac3b5669 make format_code 2018-08-19 14:22:42 +10:00
Yonas Kolb
a1418fe4dd allow aggregateTargets to be dependencies 2018-08-19 13:47:27 +10:00
Vlad Gorloff
90b0d18dbe Fixes issue with wrong build phase for Metal files. https://github.com/yonaskolb/XcodeGen/issues/379 2018-08-17 09:22:06 +02:00
Brentley Jones
341e0214ed Automatically copy XPC Services to correct location 2018-08-15 08:30:55 -05:00
Brentley Jones
3e2e248d8c Use parent().string 2018-08-14 09:06:41 -05:00
Brentley Jones
8f15a2bbdb Fix duplicated build file IDs for frameworks 2018-08-14 09:05:31 -05:00
Brentley Jones
c7d0af1cab Add to FRAMEWORK_SEARCH_PATHS for framework dependencies 2018-08-14 08:51:59 -05:00
Brentley Jones
461de39f8e
Merge pull request #366 from brentleyjones/static-library-swift-objc-interface-header
Automatically copy Swift.h header for static libraries
2018-08-09 09:58:39 -05:00
Brentley Jones
5f2b4074a6 Automatically copy Swift.h header for static libraries 2018-08-09 09:52:18 -05:00
Yonas Kolb
1d3d8afcd9
Merge pull request #367 from sxua/scheme-archive-additions
Add additional params to archive action
2018-08-02 23:45:40 +10:00
Oleksandr Skrypnyk
769c49f728
Add additional params to archive action 2018-08-02 16:07:18 +03:00
Yonas Kolb
907e276394
Merge pull request #364 from rpassis/bugfix/CoreDataVersioning
Improvements to determining the current version of a versioned CoreData model
2018-08-02 22:37:35 +10:00
Brentley Jones
96ac557b96 Refactor minimumXcodeGenVersion to be less pervasive 2018-08-02 07:19:37 -05:00
Brentley Jones
76192fb944 Add minimumXcodeGenVersion option
If XcodeGen's version is less than this version validation will fail.
2018-08-02 07:19:37 -05:00
Brentley Jones
ec96481478 Make version use the Version type 2018-08-02 07:19:37 -05:00
Brentley Jones
2c507ca439 Fail parsing of versions with more than 3 components 2018-08-02 07:19:37 -05:00
Brentley Jones
641ce7ccd8 Conform Version to Comparable 2018-08-02 07:19:37 -05:00
Rogerio de Paula Assis
e8f0af0d6c Minor refactoring based on PR feedback 2018-08-01 09:23:48 +10:00
Brentley Jones
a784a0d2b9 Automatically copy public headers for static libraries 2018-07-31 08:26:40 -05:00
Brentley Jones
b1c8fb1db6 Automatically copy modulemap files correctly 2018-07-31 08:13:30 -05:00
Brentley Jones
717c899179
Merge pull request #345 from brentleyjones/modulemap
Add support for Copy Files build phase
2018-07-31 08:01:58 -05:00
Brentley Jones
b44dc46244 Cleanup SpecParsingError.invalidSourceBuildPhase 2018-07-31 07:36:59 -05:00
Rogerio de Paula Assis
9831711c2c Adds parsing of .xccurrentversion inside a CoreData versioned model to determine its current active version 2018-07-31 08:01:39 +10:00