Comments (10)
There's https://github.com/hurricup/gradle-grammar-kit-plugin now 🎉
from intellij-platform-gradle-plugin.
@zolotov it would be nice to be able to run the GrammarKit parser generator as part of continuous integration (without having to check in the generated files). Apparently there are already plugins to use JFlex from Gradle, so that could be outside the scope of this plugin.
from intellij-platform-gradle-plugin.
Here is how we execute Jflex and Grammar Kit as a part of build of intellij-rust.
Unfortunately Grammar Kit is not published on maven, so we have to commit grammar-kit.jar
to the repository.
An important peculiarity is that Grammar Kit needs classes from IntelliJ platform, that's why we use compile
classpath for the generate
task.
from intellij-platform-gradle-plugin.
If I implemented it in plugin, you still needed to configure bnf and flex files. I don't think that it will be shorter than creating generate tasks on client's side.
from intellij-platform-gradle-plugin.
I see. For me it would be faster to use configure two files instead of googling and experimenting how to tell gradle to generate source code from the grammar and to tell jflex to generate the lexer code. As you can see I have no idea of gradle but love the plugin build automation :)
Close the issue if you think it should be solved by plugin authors...
from intellij-platform-gradle-plugin.
Ok, thanks. I'll think about it
from intellij-platform-gradle-plugin.
I guess it would not be a bad idea to have support for Grammar-Kit in some plugin, but I don't think it should be this plugin. It's easy to use multiple plugins in Gradle and having a dedicated Grammar-Kit plugin sounds like a good idea also for use-cases outside of IntelliJ plugins.
from intellij-platform-gradle-plugin.
@sjamesr indeed, I still think that it could be part of some other plugin.
from intellij-platform-gradle-plugin.
+1 for this functionality.
I is very annoying to figure out how to setup multiple gradle task to generate Parser and Lexer classes
from intellij-platform-gradle-plugin.
Running a grammar kit from gradle (maybe as additional plugin) looks good to make it easier to bootstrap a new plugin
+1
from intellij-platform-gradle-plugin.
Related Issues (20)
- ConfigurationCacheError with 2.0.0-rc1 and Idea 2023.3 HOT 2
- No IntelliJ Platform dependency found when running test HOT 4
- java.lang.NoClassDefFoundError: com/intellij/util/containers/ObjectIntMap HOT 2
- Ultimate service instances are not created in tests HOT 2
- NoClassDefFoundError: junit/framework/TestCase & org/junit/rules/TestRule HOT 2
- ComposedJar task does not get run for submodules which are not using pluginModule dependency helper HOT 1
- precompiled script plugin configuring intellijPlatform.pluginVerification.ides { } causes ConcurrentModificationException in KotlinGradleModelBuilder HOT 5
- add useInstaller to Ides extension ide helper method
- The v2.0.0 fails to resolve a snapshot build of IntelliJ Platform HOT 5
- v2: No IDE resolved for verification with the IntelliJ Plugin Verifier HOT 6
- verifyPlugin fails against ideaIC-242.20224.159-win HOT 3
- absolute path normalization in PrepareSandboxTask HOT 1
- [BUG] Creating a Intellij Plugin - Could not determine the dependencies of task ':prepareSandbox'. HOT 7
- Custom IDE sandbox directory not respected HOT 1
- Possible bug with GHA gradle caches
- How to build with one IDE, but use runIde with another? (eg for com.intellij.java) HOT 1
- Bundled plugin resolution fails with multiple calls to `localPlatformArtifacts()` HOT 1
- PrepareSandboxTask is missing outputs HOT 2
- Archive name not based on plugin configuration
- [2.0.1] ./gradlew runIde : java.nio.file.NoSuchFileException HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from intellij-platform-gradle-plugin.