-
Notifications
You must be signed in to change notification settings - Fork 0
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
New design #71
Merged
Merged
New design #71
Conversation
This file contains 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
This was
linked to
issues
Nov 28, 2023
Closed
…tration to language plugins.
pedrolamarao
added a commit
that referenced
this pull request
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
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.
Simplified design with single component, application or library, projects, and three language support plugins for asm, c and cxx.
Includable and importable sources are always available when the corresponding language support is available, there are no longer cpp or ixx plugins.
Temporarily, library projects define also tasks to compile a test application; eventually, this must be replaced by a test support plugin.