-
Notifications
You must be signed in to change notification settings - Fork 564
[build] Add support for commercial builds #2845
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
5da6e43 to
111f840
Compare
jonpryor
reviewed
Mar 20, 2019
jonpryor
reviewed
Mar 20, 2019
build-tools/xa-prep-tasks/Xamarin.Android.BuildTools.PrepTasks/CloneCommercialRepo.cs
Outdated
Show resolved
Hide resolved
Introduces an '.external' file at the root of the repository that can be
used to track external git dependencies without requiring that they be
added as a submodule.
Entries in this file which start with a '#' will be ignored. Entries
which do not match the specific format will also be ignored. Valid
formats are as follows:
$(RepoOwner)/$(RepoName):$(BranchName)@$(CommitHash)
This file currently only contains one reference to commercial source,
which is used by the new 'prepare-external-git-dependencies' and
'commercial' make rules. In the future however we may want to extend
this file to reference other dependencies tied to a git repo/branch/hash
(such as a mono bundle).
A 'ParseExternalGitDependencies' task has been added to parse each line
of this file into individual items that can be used by other tasks
and targets.
A 'CheckoutExternalGitDependency' task has been added to clone or update
a local checkout of a source dependency. The Output items from the
'ParseExternalGitDependencies' task should be used as an input to this
task.
The 'external-git-dependencies.targets' file has been added to expose
these common '.external' file processing tasks in MSBuild targets. A
reference to this file has been added to 'xa-prep-tasks.csproj' to allow
us to easily checkout, download or otherwise process the external git
dependencies specified in the '.external' file. Currently only source
dependencenies named 'monodroid' are supported by these targets.
The 'prepare-external-git-dependencies' make rule is used to ensure our
'.external' dependencies are initialized. The new 'commercial' make rule
has been added to manage the build of commercial components.
Finally, OpenTK.dll and it's related files have been removed from the
installers, as they are no longer going to be built as part of this new
"minimal" commercial build.
f9ffa09 to
bc0361d
Compare
jonpryor
reviewed
Mar 20, 2019
jonpryor
reviewed
Mar 20, 2019
jonpryor
reviewed
Mar 20, 2019
jonpryor
reviewed
Mar 20, 2019
build-tools/xa-prep-tasks/Xamarin.Android.BuildTools.PrepTasks/CheckoutExternalGitDependency.cs
Outdated
Show resolved
Hide resolved
jonpryor
reviewed
Mar 21, 2019
build-tools/xa-prep-tasks/Xamarin.Android.BuildTools.PrepTasks/ParseExternalGitDependencies.cs
Outdated
Show resolved
Hide resolved
jonpryor
reviewed
Mar 21, 2019
build-tools/xa-prep-tasks/Xamarin.Android.BuildTools.PrepTasks/ParseExternalGitDependencies.cs
Show resolved
Hide resolved
jonpryor
reviewed
Mar 21, 2019
Introduces a way to override a portion of our installer names, while still using version information from xamarin-android.
We'd like to have an msbuild task project that can be used for preparing our build environment and providing other general functionality without taking any external dependencies. In order to accomplish this, the `JdkInfo` task has been moved into Xamarin.Android.Tools.BootstrapTasks, which is likely a more fitting home for this task.
jonpryor
reviewed
Mar 22, 2019
jonpryor
reviewed
Mar 22, 2019
jonpryor
reviewed
Mar 22, 2019
Conditionally imports extensions to 'make prepare' and 'make jenkins' to enable a commercial build when external monodroid sources are present.
Member
Author
|
/azp run |
|
Azure Pipelines successfully started running 2 pipeline(s). |
jonpryor
reviewed
Mar 26, 2019
build-tools/xa-prep-tasks/Xamarin.Android.BuildTools.PrepTasks/CheckoutExternalGitDependency.cs
Show resolved
Hide resolved
jonpryor
reviewed
Mar 26, 2019
build-tools/xa-prep-tasks/Xamarin.Android.BuildTools.PrepTasks/CheckoutExternalGitDependency.cs
Show resolved
Hide resolved
jonpryor
reviewed
Mar 26, 2019
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
full-mono-integration-build
For PRs; run a full build (~6-10h for mono bumps), not the faster PR subset (~2h for mono bumps)
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Introduces an '.external' file at the root of the repository that can be
used to track external git dependencies without requiring that they be
added as a submodule.
Entries in this file which start with a '#' will be ignored. Entries
which do not match the specific format will also be ignored. Valid
formats are as follows:
This file currently only contains one reference to commercial source,
which is used by the new 'prepare-external-git-dependencies' and
'commercial' make rules. In the future however we may want to extend
this file to reference other dependencies tied to a git repo/branch/hash
(such as a mono bundle).
A 'ParseExternalGitDependencies' task has been added to parse each line
of this file into individual items that can be used by other tasks
and targets.
A 'CheckoutExternalGitDependency' task has been added to clone or update
a local checkout of a source dependency. The Output items from the
'ParseExternalGitDependencies' task should be used as an input to this
task.
The 'external-git-dependencies.targets' file has been added to expose
these common '.external' file processing tasks in MSBuild targets. A
reference to this file has been added to 'xa-prep-tasks.csproj' to allow
us to easily checkout, download or otherwise process the external git
dependencies specified in the '.external' file. Currently only source
dependencenies named 'monodroid' are supported by these targets.
The 'prepare-external-git-dependencies' make rule is used to ensure our
'.external' dependencies are initialized. Commercial build steps are
conditionally imported if the file exists, and they hook into existing
build steps.
Finally, OpenTK.dll and it's related files have been removed from the
installers, as they are no longer going to be built as part of this new
"minimal" commercial build.