Skip to content

Conversation

@pjcollins
Copy link
Member

@pjcollins pjcollins commented Mar 18, 2019

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. 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.

@pjcollins pjcollins requested a review from jonpryor as a code owner March 18, 2019 18:21
@pjcollins pjcollins force-pushed the pjcollins/make-commercial branch from 5da6e43 to 111f840 Compare March 19, 2019 00:36
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.
@pjcollins pjcollins force-pushed the pjcollins/make-commercial branch from f9ffa09 to bc0361d Compare March 20, 2019 21:10
@pjcollins pjcollins added the do-not-merge PR should not be merged. label Mar 20, 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.
Conditionally imports extensions to 'make prepare' and 'make jenkins' to
enable a commercial build when external monodroid sources are present.
@dotnet dotnet deleted a comment from azure-pipelines bot Mar 22, 2019
@pjcollins
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 2 pipeline(s).

@pjcollins pjcollins added the full-mono-integration-build For PRs; run a full build (~6-10h for mono bumps), not the faster PR subset (~2h for mono bumps) label Mar 28, 2019
@pjcollins pjcollins removed the do-not-merge PR should not be merged. label Apr 7, 2019
@jonpryor jonpryor merged commit 3e998b2 into master Apr 10, 2019
@pjcollins pjcollins deleted the pjcollins/make-commercial branch April 10, 2019 19:12
@github-actions github-actions bot locked and limited conversation to collaborators Jan 31, 2024
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)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants