U8String
Polyglot for Maven
U8String | Polyglot for Maven | |
---|---|---|
3 | 12 | |
135 | 867 | |
11.1% | 0.3% | |
9.6 | 6.7 | |
6 days ago | 2 months ago | |
C# | Java | |
MIT License | Eclipse Public License 1.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
U8String
- Writing x86 SIMD using x86inc.asm (2017)
- Zig, Rust, and Other Languages
-
Was Rust Worth It?
Writing performance-sensitive code in C and calling it via interop used to be the way to go during .NET Framework days but since then has become a performance trap.
Especially for small methods, calling them through interop is a deoptimization because they cannot be inlined, and involve GC frame transition (which you can suppress) as well as an indirect jump and maybe interop stub unless you are statically linking the dependency into your AOT deployment. In case the arguments are not blittable to C - marshalling too.
It is also complicates the publishing process because you have to build both .NET and C parts and then package them together, considering the matrix of [win, linux, macos] x [x64, arm64], it turns into quite an unpleasant experience.
Instead, the recommended approach is just continuing to write C# code, except with pointer and/or ref based code. This is what CoreLib itself does for the most performance-sensitive bits[0]. Naturally, it intentionally looks ugly like in Rust, but you can easily fix it with a few extension methods[1].
[0]: https://github.com/dotnet/runtime/blob/main/src/libraries/Sy...
[1]: https://github.com/U8String/U8String/blob/main/Sources/Share...
Polyglot for Maven
-
Was Rust Worth It?
And you don't even need to use XML with Polyglot Maven
https://github.com/takari/polyglot-maven
-
Why did Spring Initializr Change the Default to Gradle?
If you prefer the shorter alternative, you might want to use the Polyglot XML extension https://github.com/takari/polyglot-maven/tree/master/polyglot-xml
-
Gradle 8.0
Here you go: https://github.com/takari/polyglot-maven
- Does something like Javas Jhipster exist for Python?
- Maven Polyglot
-
Maven is turning 20 today 🥳 To many more years of stable Java builds 🍻
Fun fact, POM files can be in formats other than XML (although I have no idea if IJ would tolerate such shenanigans): https://github.com/takari/polyglot-maven/blob/polyglot-0.4.8/polyglot-yaml/src/test/resources/snakeyaml/pom.yaml
-
From Maven 3 to Maven 5
There is a certain argument to be made for user ergonomy. Many developers are drawn to Gradle and friends, or to work with polyglot Maven, because they support a more concise syntax. This is not necessarily a contradiction with Maven's Goals!
- Why doesn't everyone use gradle?
-
The Maven Wrapper has now been officially released from the Apache Maven Project
I wished they‘d finally embrace polyglot maven https://github.com/takari/polyglot-maven. pom.yaml rule the world.
-
Gradle 7.0 Released
It seems merely adding a file to the .mvn directory will do as you wish: https://github.com/takari/polyglot-maven#usage
I have avoided that road because it's one more thing that is a snowflake in the very area where I don't want to blazing trails. But I have personally tried their approach before and can confirm it does work as advertised. I can't recall if IJ lost its mind over pulling a stunt like that, but arguably if it did, then filing a YouTrack is an appropriate next step
What are some alternatives?
subgroup1
Joda-Money - Java library to represent monetary amounts.
.NET Runtime - .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
Maven Wrapper - The easiest way to integrate Maven into your project!
min-sized-rust - 🦀 How to minimize Rust binary size 📦
Membrane Service Proxy - API gateway for REST, OpenAPI, GraphQL and SOAP written in Java.
rust-playground - The Rust Playground
J2ObjC - A Java to iOS Objective-C translation tool and runtime.
Vrmac - Vrmac Graphics, a cross-platform graphics library for .NET. Supports 3D, 2D, and accelerated video playback. Works on Windows 10 and Raspberry Pi4.
Codename One - Cross-platform framework for building truly native mobile apps with Java or Kotlin. Write Once Run Anywhere support for iOS, Android, Desktop & Web.
Composer - Dependency Manager for PHP
sitemapgen4j - SitemapGen4j is a library to generate XML sitemaps in Java.