Skip to content
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

Respect platform prefix and suffix conventions #33

Closed
pedrolamarao opened this issue Oct 4, 2023 · 0 comments · Fixed by #50
Closed

Respect platform prefix and suffix conventions #33

pedrolamarao opened this issue Oct 4, 2023 · 0 comments · Fixed by #50
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@pedrolamarao
Copy link
Owner

Export string providers that yield platform conventions, and apply them in internal tasks. Prebuilt projects may enjoy them as well -- see Metal googletest.

@pedrolamarao pedrolamarao added the enhancement New feature or request label Oct 5, 2023
@pedrolamarao pedrolamarao added this to the v3 milestone Oct 6, 2023
@pedrolamarao pedrolamarao self-assigned this Oct 10, 2023
@pedrolamarao pedrolamarao linked a pull request Oct 10, 2023 that will close this issue
pedrolamarao added a commit that referenced this issue Oct 10, 2023
* Don't apply cpp plugin

* Require JDK 17

* Shorten notation of test files.

* API for conventional archive and executable file names.

Closes #33.
pedrolamarao added a commit that referenced this issue Oct 18, 2023
* Advance to version 0.2

* Remove explicit root project name.

* Add a prerelease identifier.

* Set linker to clang++.

* Update link.

* Discover target host (#42)

* Update to Gradle 8.4 final

* Advance version to 0.3

* Improve external cmake project sample.

* Discover host target.

Closes #34.

* Test host target discovery.

* Conventional archive adds a test application (#43)

* Update to Gradle 8.4 final

* Advance version to 0.3

* Improve external cmake project sample.

* Discover host target.

Closes #34.

* Test host target discovery.

* Conventional archive adds a test application.

* When configuring ixx includes, configure also commands task (#44)

* Update to Gradle 8.4 final

* Advance version to 0.3

* Improve external cmake project sample.

* Discover host target.

Closes #34.

* Test host target discovery.

* Conventional archive adds a test application.

* When configuring ixx includes, configure also the commands task.

* Test compile option inheritance.

* Expose locateTool (#47)

* Update CI; add LLVM 17. (#48)

* Get path from providers.

* Add a run task for conventional application components.

* Wire the main module to the test module.

* Don't apply cpp plugin

* Require JDK 17

* Shorten notation of test files.

* API for conventional archive and executable file names (#50)

* Don't apply cpp plugin

* Require JDK 17

* Shorten notation of test files.

* API for conventional archive and executable file names.

Closes #33.

* API to define includables etc. as public or private. (#51)

* API to define includables etc. as public or private.

Closes #46.

* API to define includables etc. as public or private.

Closes #46.

* Add MetalService::getHost and MetalService::getTarget.

* Remove getLinkables, use SourceTask::source.

* Wire run-test to test to check.

* API for set of enabled targets (#53)

Provide API for restricting the set of targets where the source set or component is enabled.

The empty set has the special meaning of permitting everything.

* Avoid linking empty source set. (#55)

Closes #52.

* Add javadoc.

* Update to 0.3-next

* Update samples.

* Ignore sample external src.

* Locate tools with metal extension.

* Update version string.

* Fix runTask onlyIf targets is empty i.e. default.

* Add onlyIf reason.

* Advance version to 0.3-rc-1

* Fix typo.

* Document published plugins.

* Set version to 0.3.
pedrolamarao added a commit that referenced this issue Nov 24, 2023
* Advance to version 0.2

* Remove explicit root project name.

* Add a prerelease identifier.

* Set linker to clang++.

* Update link.

* Discover target host (#42)

* Update to Gradle 8.4 final

* Advance version to 0.3

* Improve external cmake project sample.

* Discover host target.

Closes #34.

* Test host target discovery.

* Conventional archive adds a test application (#43)

* Update to Gradle 8.4 final

* Advance version to 0.3

* Improve external cmake project sample.

* Discover host target.

Closes #34.

* Test host target discovery.

* Conventional archive adds a test application.

* When configuring ixx includes, configure also commands task (#44)

* Update to Gradle 8.4 final

* Advance version to 0.3

* Improve external cmake project sample.

* Discover host target.

Closes #34.

* Test host target discovery.

* Conventional archive adds a test application.

* When configuring ixx includes, configure also the commands task.

* Test compile option inheritance.

* Expose locateTool (#47)

* Update CI; add LLVM 17. (#48)

* Get path from providers.

* Add a run task for conventional application components.

* Wire the main module to the test module.

* Don't apply cpp plugin

* Require JDK 17

* Shorten notation of test files.

* API for conventional archive and executable file names (#50)

* Don't apply cpp plugin

* Require JDK 17

* Shorten notation of test files.

* API for conventional archive and executable file names.

Closes #33.

* API to define includables etc. as public or private. (#51)

* API to define includables etc. as public or private.

Closes #46.

* API to define includables etc. as public or private.

Closes #46.

* Add MetalService::getHost and MetalService::getTarget.

* Remove getLinkables, use SourceTask::source.

* Wire run-test to test to check.

* API for set of enabled targets (#53)

Provide API for restricting the set of targets where the source set or component is enabled.

The empty set has the special meaning of permitting everything.

* Avoid linking empty source set. (#55)

Closes #52.

* Add javadoc.

* Update to 0.3-next

* Update samples.

* Ignore sample external src.

* Locate tools with metal extension.

* Update version string.

* Fix runTask onlyIf targets is empty i.e. default.

* Add onlyIf reason.

* Advance version to 0.3-rc-1

* Advance version to 0.4

* Define publish workflow

* Try  --validate-only first

* Fix workflow name

* Improve source sets (#59)

* Rewire source sets and tasks via intermediate file collections.

Add "compile", "import", "include" and "link" collections to consume the corresponding type. Rename the resolvable providers to "compilables", ""importables", "includables" and "linkables".

* Update nomenclature and remove obsolete properties.

* Remove MetalApplication.archive

* Enable configuration cache (#60)

* Version with SNAPSHOT instead of git hash.

* Enable configuration cache on tests.

* Make compile tasks cacheable.

* Make archive and link cacheable.

* Enable configuration cache on tests.

* Add MetalComponent.output

* Some documentation

* Test MetalComponent.output

* Make commands task cacheable

* Annotate cacheable tasks. (#63)

* Propagate build environment metal.path property into tests (#64)

* Propagate build environment metal.path property into tests

* Use findProperty to permit unset

* Remove debug statements and return to array access notation

* Component specific dependencies. (#68)

* Add per component dependency configurations.

* Add javadoc.

* Set version to 0.4.

* Update samples.

* Remove duplicated tests: merge problem.

* Update documentation.
pedrolamarao added a commit that referenced this issue Feb 21, 2024
* Advance to version 0.2

* Remove explicit root project name.

* Add a prerelease identifier.

* Set linker to clang++.

* Update link.

* Discover target host (#42)

* Update to Gradle 8.4 final

* Advance version to 0.3

* Improve external cmake project sample.

* Discover host target.

Closes #34.

* Test host target discovery.

* Conventional archive adds a test application (#43)

* Update to Gradle 8.4 final

* Advance version to 0.3

* Improve external cmake project sample.

* Discover host target.

Closes #34.

* Test host target discovery.

* Conventional archive adds a test application.

* When configuring ixx includes, configure also commands task (#44)

* Update to Gradle 8.4 final

* Advance version to 0.3

* Improve external cmake project sample.

* Discover host target.

Closes #34.

* Test host target discovery.

* Conventional archive adds a test application.

* When configuring ixx includes, configure also the commands task.

* Test compile option inheritance.

* Expose locateTool (#47)

* Update CI; add LLVM 17. (#48)

* Get path from providers.

* Add a run task for conventional application components.

* Wire the main module to the test module.

* Don't apply cpp plugin

* Require JDK 17

* Shorten notation of test files.

* API for conventional archive and executable file names (#50)

* Don't apply cpp plugin

* Require JDK 17

* Shorten notation of test files.

* API for conventional archive and executable file names.

Closes #33.

* API to define includables etc. as public or private. (#51)

* API to define includables etc. as public or private.

Closes #46.

* API to define includables etc. as public or private.

Closes #46.

* Add MetalService::getHost and MetalService::getTarget.

* Remove getLinkables, use SourceTask::source.

* Wire run-test to test to check.

* API for set of enabled targets (#53)

Provide API for restricting the set of targets where the source set or component is enabled.

The empty set has the special meaning of permitting everything.

* Avoid linking empty source set. (#55)

Closes #52.

* Add javadoc.

* Update to 0.3-next

* Update samples.

* Ignore sample external src.

* Locate tools with metal extension.

* Update version string.

* Fix runTask onlyIf targets is empty i.e. default.

* Add onlyIf reason.

* Advance version to 0.3-rc-1

* Advance version to 0.4

* Define publish workflow

* Try  --validate-only first

* Fix workflow name

* Improve source sets (#59)

* Rewire source sets and tasks via intermediate file collections.

Add "compile", "import", "include" and "link" collections to consume the corresponding type. Rename the resolvable providers to "compilables", ""importables", "includables" and "linkables".

* Update nomenclature and remove obsolete properties.

* Remove MetalApplication.archive

* Enable configuration cache (#60)

* Version with SNAPSHOT instead of git hash.

* Enable configuration cache on tests.

* Make compile tasks cacheable.

* Make archive and link cacheable.

* Enable configuration cache on tests.

* Add MetalComponent.output

* Some documentation

* Test MetalComponent.output

* Make commands task cacheable

* Annotate cacheable tasks. (#63)

* Propagate build environment metal.path property into tests (#64)

* Propagate build environment metal.path property into tests

* Use findProperty to permit unset

* Remove debug statements and return to array access notation

* Component specific dependencies. (#68)

* Add per component dependency configurations.

* Add javadoc.

* Remove --validate-only (#70)

(cherry picked from commit aafd1cb)

* Advance version to 0.5

* Update Gradle to 8.5-rc-4

* Fix archive file name.

* Update application samples.

* Remove obsolete samples.

* Update README.

* Replace with clang generated source.

* Update archive samples.

* Update dependency samples.

* New design (#71)

* Start new design.

* Restore the prebuilt plugin.

* Set component name with target conventional suffix.

* Add language specific options to compiler arguments.

* Configure conventional header directory.

* Remove obsolete class.

* Restore conventional header sources.

* Add MetalIxxPrecompile.

* Remove obsolete imports.

* Make MakeIxxPrecompile extends MetalCompile.

* Update README.

* Configure application and library import dependencies.

* Remove obsolete sources.

* Test import dependencies.

* Update samples.

* Add library project test support.

* Update sample.

* Avoid running nonexistent executables.

* Move MetalExtension.

* Remove obsolete code.

* Add consumable configurations.

* Add MetalExtensionTest.

* Add copyright notice.

* Add MetalHostValueSource.

* Reusar um MetalHostValueSource.

* Move archiveFileName and executableFileName to class Metal.

* Update sample.

* Update Gradle to 8.5.

* Always build development samples with current code.

* Remover Gradle version from samples.

* Fix sample.

* Use DSL in sample.

* Remove --included-build from build command line.

* Always apply the base plugin in the root project.

* Restore component targets property.

* Remove target property.

* Remove obsolete properties.

* Set tasks onlyIf target is enabled.

* Restore target property: the target must be a part of the build cache key.

* Include the target`s outputs only.

* Add build target test.

* Use lld only if target != host.

* Adicionar Javadoc.

* Upgrade Gradle to 8.6

* Aplicar phoenix-actions/test-reporting@v8

* Apply Allure.

* Publish Allure report with actions/upload-artifact

* Generate report before uploading

* Upgrade gradle/wrapper-validation-action to v2

* Upgrade gradle/gradle-build-action to v3

* Fix step name

* Update LLVM 17 to 17.0.6

* Upgrade actions/checkout to v4

* Always run allureAggregateReport step

* Upgrade actions/setup-java to v3

* Publish Allure reports from ubuntu workflows

* Pass properties to tests via gradle.properties, not command line

* Copy gradle.properties iff exists

* Add display name to suites and tests

* Restore force-version: true

* Add last display name and remove unecessary public visibility

* Document required Gradle version.

* Add compile commands tasks to application and library projects.

* Add directory and append tool path into arguments.

* Add aggregateCommands task.

* Add commands dependencies.

* Move configuration registration to base plugin and compile task registration to language plugins.

* Represent a library test application with an actual test MetalApplication.

* Aggregate commands includes this project commands.

* Restore the prebuilt project plugin.

* Add commands dependencies.

* Apply the base plugin.

* Add DSL for component source filters (#72)

* Add tests for the desired DSL.

* Add desired notation without wiring to tasks.

* Wire component filters to task filters.

* Remove obsolete code.

* Remove obsolete code.

* Update version.

* Update version.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant