Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Claudio Rivas
    @claudioreevas:matrix.org
    [m]
    Is Orchid compatible with Java 1.8.0_291 or 1.8.0_281 versions?
    Casey Brooks
    @cjbrooks12
    Orchid shouldn't need any particular version of Java 8, so it should be fine to use the latest version of it., But it does expect everything to be encoded as UTF-8. I'm not quite sure what that encoding error is or how to fix it, but it sounds like either the file is encoded in a different charset, or your computer is set to a different charset, or something like that. I'm not entirely sure
    1 reply
    Claudio Rivas
    @claudioreevas:matrix.org
    [m]
    Thank you for all your help and support, I think Orchid have an outstanding outcome for documentation.
    Sorry if I ask so much questions and maybe some of them are dumb, but have Tech Writing skills, not so much Java skills, I program yes, but on Python and other languages.
    I really appreciate the help, responses and support. If I can contribute back for sure I'll do.
    Another thing, english is not my native language, sorry if my english is not the best.
    loke
    @loke:dhsdevelopments.com
    [m]
    I'm trying to update to 0.21.2, and this is the top of my build.gradle:
    plugins {
        // Add the official Orchid Gradle plugin so you can use Orchid with the custom DSL   
        id "com.eden.orchidPlugin" version "0.21.2"
    }
    
    repositories {
        // Orchid uses dependencies from both Jcenter and Jitpack, so both must be included. jcenter also includes 
        // everything available from MavenCentral, while Jitpack makes accessible any Github project.
        jcenter()
        maven { url "https://kotlin.bintray.com/kotlinx" }
    }
    However, I'm getting this error when trying to sync the gradle file:
    Has anyone seen this before?
    loke
    @loke:dhsdevelopments.com
    [m]
    0.21.1 works fine, so it seem it hasn't been uploaded to the repositories?
    Or perhaps the documentation mentions the wrong repository?
    Casey Brooks
    @cjbrooks12
    Documentation is definitely out of date at this point. Orchid should only need the jcenter() repo, the local bintray repos are no longer working now that bintray has been sunset. And it looks like the version number displayed in the docs got bumped accidentally, the latest version is 0.21.1
    Casey Brooks
    @cjbrooks12
    And I just wanted to give a quick update on my progress with getting Orchid republished to MavenCentral: all of the libraries I maintain and use in Orchid have themselves been republished to MavenCentral. I'm now starting to work on updating all of the dependencies within the Orchid repo. From a cursory attempt to just increment the dependencies to their latest versions, there seems to be a number of deprecated or changes features in those libraries that will take a bit of work to get fixed, but I still expect to stick to the schedule outlined in the latest blog post.
    I would also really appreciate some help getting all these dependencies updated, particularly the ones that have deprecated APIs and are not trivial to update.
    loke
    @loke:dhsdevelopments.com
    [m]
    @cjbrooks12 I'd love to help out. However, I've never looked at the code for Orchid.
    Is there anything in particular you want me to have a look at?
    Casey Brooks
    @cjbrooks12

    Thank you so much for offering to help! Overall, Orchid is a pretty standard multimodule Gradle project, and you shouldn't really need to know much about its internal structure to help get the dependencies updated. There should be plenty of tests, and the Orchid repo uses itself for its own documentation, so between those two, if you make a change and all the tests pass and there don't seem to be any unusual logs during its own orchidBuild, it should be good. You'll want to branch from/PR into the dev branch, and the Gradle dependency versions are all declared in this file: https://github.com/orchidhq/Orchid/blob/dev/buildSrc/src/main/kotlin/Versions.kt

    In particular, jsass, pygments, asciidoctorj, and classgraph dependencies should be pretty isolated things. Asciidoctorj and Classgraph both use APIs that are deprecated, and there should be compile warnings with the specific lines that need to be addressed. Jsass and pygments print strange errors at runtime when running Orchid that I'm less sure of what the exact issue or the proper fix it, but looking documentation/release notes for those respective projects might help uncover the issues there.

    And finally, if you are comfortable with Gradle, I want to replace those Libs.kt/Versions.kt files in buildSrc with the new Gradle Version Catalogs feature available in Gradle 7. The repo is already updated to Gradle 7, just need to migrate those dependency definitions/usages in the build files

    Running ./gradlew clean build from the project root will run everything, but it takes ~10-20 minutes for it to finish, usually. But you can also run any of the tests from within Intellij as you would any other Java project. And running its own documentation is just the same as for any other project that uses Orchid for docs: ./gradlew :docs:orchidServe
    loke
    @loke:dhsdevelopments.com
    [m]
    @cjbrooks12: Thanks. I'll take a look. I'm really not a fan of Gradle, and mainly only use it because I have to, so I won't look at the catalogue stuff. I'll take a look at the dependencies tomorrow.
    loke
    @loke:dhsdevelopments.com
    [m]
    @cjbrooks12: I decided to start looking at the Orchid dependencies, and there are a few weird things that I have come across as part of my moving it to Kotlin 1.5.10.
    Can you tell me what jacoco is?
    I have two issues right now: The first is that since I don't know how gradle works, I don't know how to explain to IDEA that I'm using 1.5.10. The editor fails to see methods that are new in 1.5, but when building with Gradle it works. Resetting the IDEA cache didn't help.
    The other issue is with jacoco. It appears to be a code coverage library, and it seems to severely fail when running on Kotlin 1.5.10. I'm getting errors like this one:
    java.lang.IllegalStateException: Unexpected SMAP line: *S KotlinDebug
    I was thinking that perhaps jacoco doesn't support the newer Kotlin class file format, but where do you specify its version?
    Casey Brooks
    @cjbrooks12
    There are likely a number of issues with the Orchid repo in moving it to kotlin 1.5 at the moment. The specific dependencies I suggested earlier are pure java and shouldn't need Kotlin upgraded to get updated.
    All the librarians I maintain I republished before the Kotlin 1.5 release, so they're all targeting 1.4.32, so a first step is just to get it to that version first. But, you can let me take care of updating Kotlin, because that will come with many more changes from those libraries which I already know what needs to be updated for.
    loke
    @loke:dhsdevelopments.com
    [m]
    @cjbrooks12: OK, noted. I'll look at the others.
    loke
    @loke:dhsdevelopments.com
    [m]
    @cjbrooks12: I just tried updating classgraph, where the comment says "has deprecated APIs". I don't get any warnings when compiling though.
    loke
    @loke:dhsdevelopments.com
    [m]
    @cjbrooks12: Do you know how to actually see what files are giving me the deprecated API warnings? Adding the flag -Xlint:deprecation to the compileOptions.freeCompilerArgs tells me the flag is unsupported.
    I thought setting org.gradle.warning.mode=all in gradle.properties would be enough, but it still doesn't give me anything more detailed than:
    > Task :OrchidCore:compileJava
    Note: Some input files use or override a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    Note: Some input files use unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    loke
    @loke:dhsdevelopments.com
    [m]
    As you can tell, I'm not an experienced Gradle user. In my own projects, I try to touch gradle as little as possible.
    Casey Brooks
    @cjbrooks12
    The current version in the Orchid repo doesn't have any warnings, but updating the version number to it's latest should give warnings when compiling. I didn't have to change any compile flags or anything to see it, they should just show up in the terminal when running ./gradlew clean build
    loke
    @loke:dhsdevelopments.com
    [m]
    @cjbrooks12: Yes, I didn't have any warnings, then I did update the version number of a couple of packages and then this shows up in the log:
    > Task :OrchidCore:compileJava
    Note: Some input files use or override a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    Note: Some input files use unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    I would have expected to get information on the files.
    So far my work has been limited to learning more about gradle, but I'm hoping that will be useful for my own projects. Sorry for not actually producing anything of value to you at this point.
    Daniel Sanchez
    @DseeHappy
    Anyone have filtering examples for swiftdocs? Currently there's a TODO to add filtering documentation. Trying to grab a list, filter it into sections with their own titles with maybe a UML right after each title section.
    {% for page in findAll (collectionType = 'swiftdoc', collectionId = 'classes') %}
    {{ page.title }}
    {% endfor %}
    Currently what I have setup to pull the list, anyone with any info on filtering or breaking apart the ios api list would be greatly appreciated.
    Casey Brooks
    @cjbrooks12

    Hey everyone, I just wanted to give another quick update on the progress of Orchid's 1.0.0 release. In keeping with the timeline outlined here, and I'm happy to report that things are still on track. I've got the dev branch updated to using Kotlin 1.4.32, updated the majority of its dependencies to their latest versions, and it's no longer referencing any artifacts from JCenter or Bintray. The updated dependencies should also fix crashing running on the latest JDK versions, though the SourceDoc plugins are still quite old and might not work with the latest versions of each respective language. Unfortunately, both the Javadoc and Kotlindoc plugins will need to be completely rewritten because both their underlying documentation tools have been rewritten, and this is out-of-scope for the 1.0.0 release.

    I will also note that even though Kotlin is at 1.5.20 now, I am still planning on releasing 1.0.0 at kotlin version 1.4.32, but this should not prevent Orchid from being used in Gradle projects targeting higher Kotlin versions, since the Orchid Gradle plugin does not depend on the Kotlin plugin.

    The last bit of work remaining is to finish getting the open PRs merged, get the modules renamed to fit with the normal artifact-naming conventions, and update the documentation. The hard work is definitely behind me now, but some help getting the modules renamed and the documentation updated would be appreciated at this point.

    Finally, part of the re-release will involve updates to the Maven and SBT plugins, getting them published to MavenCentral. I do not know how to work with these tools, so I will really need some help getting those updated.

    loke
    @loke:dhsdevelopments.com
    [m]
    @cjbrooks12: Thank you very much for your effort. It's appreciated.
    Stijn
    @SnakeSVx
    @cjbrooks12 Is there a list of what you need help with? Wouldn't mind taking a look at it over the weekend to see what I can do.
    Casey Brooks
    @cjbrooks12
    At this point, the best thing is probably just to build it locally, publish to your mavenLocal() repo, and test it on your own sites from there. I'm sure there are some kinks to work out that didn't get caught by the unit tests yet. I've mostly been focusing on getting it to compile and pass the tests so far, but haven't really validated the actual functionality too much yet, and the more eyes on it before this big release, the better
    Casey Brooks
    @cjbrooks12
    I just discovered that Orchid is not in compliance with one of its a GPL-licensed libraries, and it will need to get resolved before the next release. I need feedback from the community on how it should be resolved. I've outlined some options in issue #405, and would greatly appreciate any comments, suggestions, or reservations from yall on any of the options listed there.
    Claudio Rivas
    @claudioreevas:matrix.org
    [m]
    test
    Casey Brooks
    @cjbrooks12
    Another big milestone for Orchid's 1.0.0 release: I've now got CI setup to test on JDKs up to 16 and publish snapshot builds to Sonatype, and its also mostly ready for publishing release builds. There are still a few minor bugs to fix and a good bit of documentation to update before the release, but things are still looking good for a 1.0.0 release in a few weeks
    @/all At this point, I would appreciate yall start trying out the 1.0.0 snapshots on your sites. The goal is to require no changes to your site except for updating the dependencies, so if you try it out and notice any errors or things not rendering properly on the snapshots, please open an issue on the repo so I can get it fixed before the actual release goes out. Below are the steps needed to try out the snapshot builds:
    • Continue to use the 0.21.1 Gradle/Maven plugin versions
    • add https://s01.oss.sonatype.org/content/repositories/snapshots/ as a Maven repository in your build (the new standard Sonatype snapshots repo)
    • Use updated coordinates for all Orchid dependencies
      • groupId is now io.github.copper-leaf-orchid
      • artifactId format has changed from CamelCase (OrchidCore) to kebob-case (orchid-core). Additionally, -bundle, -feature or -theme has been appended to the artifactId for all modules, as appropriate (orchid-wiki-feature, orchid-bsdoc-theme, orchid-docs-bundle, etc.)
      • the Taxonomies plugin is being renamed to "Archives" (OrchidTaxonomies artifact is now orchid-archives-feature)
      • A full dependency of io.github.javaeden.orchid:OrchidWiki:0.21.1 should now look like io.github.copper-leaf.orchid:orchid-wiki-feature:1.0.0-SNAPSHOT
    MicaBytes
    @micabytes
    After updating the above, I'm seeing a fair amount of : Unresolved reference: eden. Can't see that the packages have changed though. Any clue?
    This is when compiling a custom Orchid theme, btw.
    Michael Akinde
    @michaeloa
    Hi. Seeing a weird issue with 0.21.1 where when I'm trying to use a custom theme, the gradle implementation is unable to find the theme, but when I include the theme in an orchid.kts script, it works fine. Any ideas what might be wrong? Theme is being included with orchidImplementation, and it's a pretty carbon copy of BsDoc for now with very minor tweaks.