Initial plugin

[?]
Mar 27, 2021, 3:33 AM
GGYFPXND4VBCROZZXTKAP7Y4JOP2OOYQAFVLMUE7SLFM225EUSIAC

Dependencies

Change contents

  • file addition: src (d--r------)
    [1.0]
  • file addition: test (d--r------)
    [0.6]
  • file addition: resources (d--r------)
    [0.14]
  • file addition: kotlin (d--r------)
    [0.14]
  • file addition: java (d--r------)
    [0.14]
  • file addition: main (d--r------)
    [0.6]
  • file addition: resources (d--r------)
    [0.53]
  • file addition: messages (d--r------)
    [0.66]
  • file addition: DraconBundle.properties (----------)
    [0.78]
    dracon.vcs.name=Pijul
    dracon.vcs.name.with.mnemonic=_Pijul
    init.title=Create Pijul Repository
    init.description=Select the target directory to init Pijul repository.
    init.warning.title=Pijul Init
    init.warning.already.under.pijul=The directory <tt>{0}</tt> is already under Pijul.\n\
    Are you sure that you want to create a new VCS root?
  • file addition: META-INF (d--r------)
    [0.66]
  • file addition: pluginIcon_dark.svg (----------)
    [0.455]
    <svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
    <path d="M17.3833 16.9199L12.5204 9.34144C13.9744 9.80601 15.6085 10.3792 17.2356 11.0522C19.667 12.0579 21.9735 13.2422 23.6387 14.5517C25.3627 15.9074 26 17.0739 26 18C26 18.9261 25.3627 20.0926 23.6387 21.4483C21.9735 22.7578 19.667 23.9421 17.2356 24.9478C15.6085 25.6208 13.9744 26.194 12.5204 26.6586L17.3833 19.0801L18.0763 18L17.3833 16.9199Z" stroke="white" stroke-width="4"/>
    </svg>
  • file addition: pluginIcon.svg (----------)
    [0.455]
    <svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
    <path d="M17.3833 16.9199L12.5204 9.34144C13.9744 9.80601 15.6085 10.3792 17.2356 11.0522C19.667 12.0579 21.9735 13.2422 23.6387 14.5517C25.3627 15.9074 26 17.0739 26 18C26 18.9261 25.3627 20.0926 23.6387 21.4483C21.9735 22.7578 19.667 23.9421 17.2356 24.9478C15.6085 25.6208 13.9744 26.194 12.5204 26.6586L17.3833 19.0801L18.0763 18L17.3833 16.9199Z" stroke="black" stroke-width="4"/>
    </svg>
  • file addition: plugin.xml (----------)
    [0.455]
    <idea-plugin>
    <id>com.github.jonathanxd.Dracon</id>
    <name>Dracon (Pijul)</name>
    <vendor email="jhrldev@gmail.com" url="http://github.com/JonathanxD">JonathanxD</vendor>
    <!--<description><![CDATA[
    Dracon is an unofficial Pijul plugin for IntelliJ IDEA.
    Enter short description for your plugin here.<br>
    <em>most HTML tags may be used</em>
    ]]></description>-->
    <!-- please see https://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/plugin_compatibility.html
    on how to target different products -->
    <resource-bundle>messages.DraconBundle</resource-bundle>
    <depends>com.intellij.modules.vcs</depends>
    <depends>com.intellij.modules.platform</depends>
    <extensions defaultExtensionNs="com.intellij">
    <!-- Add your extensions here -->
    </extensions>
    <actions>
    <!-- Add your actions here -->
    </actions>
    </idea-plugin>
  • file addition: kotlin (d--r------)
    [0.53]
  • file addition: com (d--r------)
    [0.2414]
  • file addition: github (d--r------)
    [0.2421]
  • file addition: jonathanxd (d--r------)
    [0.2431]
  • file addition: i18n (d--r------)
    [0.2445]
  • file addition: DraconBundle.kt (----------)
    [0.2453]
    package com.github.jonathanxd.i18n
    import com.intellij.DynamicBundle
    import org.jetbrains.annotations.Nls
    import org.jetbrains.annotations.PropertyKey
    import java.util.function.Supplier
    const val BUNDLE = "messages.DraconBundle"
    object DraconBundle : DynamicBundle(BUNDLE) {
    fun message(@PropertyKey(resourceBundle = BUNDLE) key: String, vararg params: Any): @Nls String {
    return INSTANCE.getMessage(key, params)
    }
    fun messagePointer(@PropertyKey(resourceBundle = BUNDLE) key: String, vararg params: Any): Supplier<String> {
    return INSTANCE.getLazyMessage(key, params)
    }
    }
  • file addition: actions (d--r------)
    [0.2445]
  • file addition: PijulInit.kt (----------)
    [0.3093]
    package com.github.jonathanxd.actions
    import com.intellij.openapi.actionSystem.AnActionEvent
    import com.intellij.openapi.actionSystem.CommonDataKeys
    import com.intellij.openapi.fileChooser.FileChooserDescriptor
    import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory
    import com.intellij.openapi.project.DumbAwareAction
    import com.intellij.openapi.project.ProjectManager
    class PijulInit: DumbAwareAction() {
    override fun actionPerformed(e: AnActionEvent) {
    val project = e.getData(CommonDataKeys.PROJECT) ?: ProjectManager.getInstance().defaultProject
    val fcd = FileChooserDescriptorFactory.createSingleFileDescriptor()
    fcd.isShowFileSystemRoots = true
    }
    }
  • file addition: java (d--r------)
    [0.53]
  • file addition: settings.gradle.kts (----------)
    [1.0]
    rootProject.name = "Dracon"
  • file addition: gradlew.bat (----------)
    [1.0]
    @rem
    @rem Copyright 2015 the original author or authors.
    @rem
    @rem Licensed under the Apache License, Version 2.0 (the "License");
    @rem you may not use this file except in compliance with the License.
    @rem You may obtain a copy of the License at
    @rem
    @rem https://www.apache.org/licenses/LICENSE-2.0
    @rem
    @rem Unless required by applicable law or agreed to in writing, software
    @rem distributed under the License is distributed on an "AS IS" BASIS,
    @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    @rem See the License for the specific language governing permissions and
    @rem limitations under the License.
    @rem
    @if "%DEBUG%" == "" @echo off
    @rem ##########################################################################
    @rem
    @rem Gradle startup script for Windows
    @rem
    @rem ##########################################################################
    @rem Set local scope for the variables with windows NT shell
    if "%OS%"=="Windows_NT" setlocal
    set DIRNAME=%~dp0
    if "%DIRNAME%" == "" set DIRNAME=.
    set APP_BASE_NAME=%~n0
    set APP_HOME=%DIRNAME%
    @rem Resolve any "." and ".." in APP_HOME to make it shorter.
    for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
    @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
    set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
    @rem Find java.exe
    if defined JAVA_HOME goto findJavaFromJavaHome
    set JAVA_EXE=java.exe
    %JAVA_EXE% -version >NUL 2>&1
    if "%ERRORLEVEL%" == "0" goto execute
    echo.
    echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
    echo.
    echo Please set the JAVA_HOME variable in your environment to match the
    echo location of your Java installation.
    goto fail
    :findJavaFromJavaHome
    set JAVA_HOME=%JAVA_HOME:"=%
    set JAVA_EXE=%JAVA_HOME%/bin/java.exe
    if exist "%JAVA_EXE%" goto execute
    echo.
    echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
    echo.
    echo Please set the JAVA_HOME variable in your environment to match the
    echo location of your Java installation.
    goto fail
    :execute
    @rem Setup the command line
    set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
    @rem Execute Gradle
    "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
    :end
    @rem End local scope for the variables with windows NT shell
    if "%ERRORLEVEL%"=="0" goto mainEnd
    :fail
    rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
    rem the _cmd.exe /c_ return code!
    if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
    exit /b 1
    :mainEnd
    if "%OS%"=="Windows_NT" endlocal
    :omega
  • file addition: gradlew (---r------)
    [1.0]
    #!/usr/bin/env sh
    #
    # Copyright 2015 the original author or authors.
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    # https://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    #
    ##############################################################################
    ##
    ## Gradle start up script for UN*X
    ##
    ##############################################################################
    # Attempt to set APP_HOME
    # Resolve links: $0 may be a link
    PRG="$0"
    # Need this for relative symlinks.
    while [ -h "$PRG" ] ; do
    ls=`ls -ld "$PRG"`
    link=`expr "$ls" : '.*-> \(.*\)$'`
    if expr "$link" : '/.*' > /dev/null; then
    PRG="$link"
    else
    PRG=`dirname "$PRG"`"/$link"
    fi
    done
    SAVED="`pwd`"
    cd "`dirname \"$PRG\"`/" >/dev/null
    APP_HOME="`pwd -P`"
    cd "$SAVED" >/dev/null
    APP_NAME="Gradle"
    APP_BASE_NAME=`basename "$0"`
    # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
    DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
    # Use the maximum available, or set MAX_FD != -1 to use that value.
    MAX_FD="maximum"
    warn () {
    echo "$*"
    }
    die () {
    echo
    echo "$*"
    echo
    exit 1
    }
    # OS specific support (must be 'true' or 'false').
    cygwin=false
    msys=false
    darwin=false
    nonstop=false
    case "`uname`" in
    CYGWIN* )
    cygwin=true
    ;;
    Darwin* )
    darwin=true
    ;;
    MINGW* )
    msys=true
    ;;
    NONSTOP* )
    nonstop=true
    ;;
    esac
    CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
    # Determine the Java command to use to start the JVM.
    if [ -n "$JAVA_HOME" ] ; then
    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
    # IBM's JDK on AIX uses strange locations for the executables
    JAVACMD="$JAVA_HOME/jre/sh/java"
    else
    JAVACMD="$JAVA_HOME/bin/java"
    fi
    if [ ! -x "$JAVACMD" ] ; then
    die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
    Please set the JAVA_HOME variable in your environment to match the
    location of your Java installation."
    fi
    else
    JAVACMD="java"
    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
    Please set the JAVA_HOME variable in your environment to match the
    location of your Java installation."
    fi
    # Increase the maximum file descriptors if we can.
    if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
    MAX_FD_LIMIT=`ulimit -H -n`
    if [ $? -eq 0 ] ; then
    if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
    MAX_FD="$MAX_FD_LIMIT"
    fi
    ulimit -n $MAX_FD
    if [ $? -ne 0 ] ; then
    warn "Could not set maximum file descriptor limit: $MAX_FD"
    fi
    else
    warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
    fi
    fi
    # For Darwin, add options to specify how the application appears in the dock
    if $darwin; then
    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
    fi
    # For Cygwin or MSYS, switch paths to Windows format before running java
    if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
    JAVACMD=`cygpath --unix "$JAVACMD"`
    # We build the pattern for arguments to be converted via cygpath
    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
    SEP=""
    for dir in $ROOTDIRSRAW ; do
    ROOTDIRS="$ROOTDIRS$SEP$dir"
    SEP="|"
    done
    OURCYGPATTERN="(^($ROOTDIRS))"
    # Add a user-defined pattern to the cygpath arguments
    if [ "$GRADLE_CYGPATTERN" != "" ] ; then
    OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
    fi
    # Now convert the arguments - kludge to limit ourselves to /bin/sh
    i=0
    for arg in "$@" ; do
    CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
    CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
    if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
    eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
    else
    eval `echo args$i`="\"$arg\""
    fi
    i=`expr $i + 1`
    done
    case $i in
    0) set -- ;;
    1) set -- "$args0" ;;
    2) set -- "$args0" "$args1" ;;
    3) set -- "$args0" "$args1" "$args2" ;;
    4) set -- "$args0" "$args1" "$args2" "$args3" ;;
    5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
    6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
    7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
    8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
    9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
    esac
    fi
    # Escape application args
    save () {
    for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
    echo " "
    }
    APP_ARGS=`save "$@"`
    # Collect all arguments for the java command, following the shell quoting and substitution rules
    eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
    exec "$JAVACMD" "$@"
  • file addition: gradle.properties (----------)
    [1.0]
    # IntelliJ Platform Artifacts Repositories
    # -> https://plugins.jetbrains.com/docs/intellij/intellij-artifacts.html
    pluginGroup = com.github.jonathanxd.dracon
    pluginName = Dracon
    pluginVersion = 0.1.0
    pluginSinceBuild = 203
    pluginUntilBuild = 203.*
    # Plugin Verifier integration -> https://github.com/JetBrains/gradle-intellij-plugin#plugin-verifier-dsl
    # See https://jb.gg/intellij-platform-builds-list for available build versions
    pluginVerifierIdeVersions = 2020.3.3
    platformType = IC
    platformVersion = 2020.3.3
    platformDownloadSources = true
    # Plugin Dependencies -> https://plugins.jetbrains.com/docs/intellij/plugin-dependencies.html
    # Example: platformPlugins = com.intellij.java, com.jetbrains.php:203.4449.22
    platformPlugins =
    # Opt-out flag for bundling Kotlin standard library.
    # See https://kotlinlang.org/docs/reference/using-gradle.html#dependency-on-the-standard-library for details.
    kotlin.stdlib.default.dependency = false
    kotlin.code.style=official
  • file addition: gradle (d--r------)
    [1.0]
  • file addition: detekt-config.yml (----------)
    [1.0]
    # Default detekt configuration:
    # https://github.com/detekt/detekt/blob/master/detekt-core/src/main/resources/default-detekt-config.yml
    formatting:
    Indentation:
    continuationIndentSize: 8
    ParameterListWrapping:
    indentSize: 8
  • file addition: build.gradle.kts (----------)
    [1.0]
    import io.gitlab.arturbosch.detekt.Detekt
    import org.jetbrains.changelog.closure
    import org.jetbrains.changelog.markdownToHTML
    import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
    fun properties(key: String) = project.findProperty(key).toString()
    plugins {
    // Java support
    id("java")
    // Kotlin support
    id("org.jetbrains.kotlin.jvm") version "1.4.31"
    // gradle-intellij-plugin - read more: https://github.com/JetBrains/gradle-intellij-plugin
    id("org.jetbrains.intellij") version "0.7.2"
    // gradle-changelog-plugin - read more: https://github.com/JetBrains/gradle-changelog-plugin
    id("org.jetbrains.changelog") version "1.1.2"
    // detekt linter - read more: https://detekt.github.io/detekt/gradle.html
    id("io.gitlab.arturbosch.detekt") version "1.15.0"
    // ktlint linter - read more: https://github.com/JLLeitschuh/ktlint-gradle
    id("org.jlleitschuh.gradle.ktlint") version "10.0.0"
    }
    group = properties("pluginGroup")
    version = properties("pluginVersion")
    // Configure project's dependencies
    repositories {
    mavenCentral()
    jcenter()
    }
    dependencies {
    detektPlugins("io.gitlab.arturbosch.detekt:detekt-formatting:1.15.0")
    }
    // Configure gradle-intellij-plugin plugin.
    // Read more: https://github.com/JetBrains/gradle-intellij-plugin
    intellij {
    pluginName = properties("pluginName")
    version = properties("platformVersion")
    type = properties("platformType")
    downloadSources = properties("platformDownloadSources").toBoolean()
    updateSinceUntilBuild = true
    // Plugin Dependencies. Uses `platformPlugins` property from the gradle.properties file.
    setPlugins(*properties("platformPlugins").split(',').map(String::trim).filter(String::isNotEmpty).toTypedArray())
    }
    // Configure gradle-changelog-plugin plugin.
    // Read more: https://github.com/JetBrains/gradle-changelog-plugin
    changelog {
    version = properties("pluginVersion")
    groups = emptyList()
    }
    // Configure detekt plugin.
    // Read more: https://detekt.github.io/detekt/kotlindsl.html
    detekt {
    config = files("./detekt-config.yml")
    buildUponDefaultConfig = true
    reports {
    html.enabled = false
    xml.enabled = false
    txt.enabled = false
    }
    }
    tasks {
    // Set the compatibility versions to 1.8
    withType<JavaCompile> {
    sourceCompatibility = "1.8"
    targetCompatibility = "1.8"
    }
    withType<KotlinCompile> {
    kotlinOptions.jvmTarget = "1.8"
    }
    withType<Detekt> {
    jvmTarget = "1.8"
    }
    patchPluginXml {
    version(properties("pluginVersion"))
    sinceBuild(properties("pluginSinceBuild"))
    untilBuild(properties("pluginUntilBuild"))
    // Extract the <!-- Plugin description --> section from README.md and provide for the plugin's manifest
    pluginDescription(
    closure {
    File("./README.md").readText().lines().run {
    val start = "<!-- Plugin description -->"
    val end = "<!-- Plugin description end -->"
    if (!containsAll(listOf(start, end))) {
    throw GradleException("Plugin description section not found in README.md:\n$start ... $end")
    }
    subList(indexOf(start) + 1, indexOf(end))
    }.joinToString("\n").run { markdownToHTML(this) }
    }
    )
    // Get the latest available change notes from the changelog file
    changeNotes(
    closure {
    changelog.getLatest().toHTML()
    }
    )
    }
    runPluginVerifier {
    ideVersions(properties("pluginVerifierIdeVersions"))
    }
    publishPlugin {
    dependsOn("patchChangelog")
    token(System.getenv("PUBLISH_TOKEN"))
    // pluginVersion is based on the SemVer (https://semver.org) and supports pre-release labels, like 2.1.7-alpha.3
    // Specify pre-release label to publish the plugin in a custom Release Channel automatically. Read more:
    // https://plugins.jetbrains.com/docs/intellij/deployment.html#specifying-a-release-channel
    channels(properties("pluginVersion").split('-').getOrElse(1) { "default" }.split('.').first())
    }
    }
  • file addition: README.md (----------)
    [1.0]
    <!-- Plugin description -->
    **Dracon** is an unofficial integration plugin for Pijul and IntelliJ Platform.
    **IntelliJ Platform Plugin Template** is a repository that provides a pure boilerplate template to make it easier to create a new plugin project (check the [Creating a repository from a template][gh:template] article).
    The main goal of this template is to speed up the setup phase of plugin development for both new and experienced developers by preconfiguring the project scaffold and CI, linking to the proper documentation pages, and keeping everything organized.
    [gh:template]: https://help.github.com/en/enterprise/2.20/user/github/creating-cloning-and-archiving-repositories/creating-a-repository-from-a-template
    <!-- Plugin description end -->
  • file addition: CHANGELOG.md (----------)
    [1.0]
    # IntelliJ Platform Plugin Template Changelog
    ## [Unreleased]
    ### Added
    - `properties` shorthand function for accessing `gradle.properties` in a cleaner way
    ## [0.8.3]
    ### Changed
    - Dependencies - upgrade `org.jetbrains.intellij` to `0.7.2`
    - Dependencies - upgrade `org.jlleitschuh.gradle.ktlint` to `10.0.0`
    - Update `platformVersion` to `2020.2.4` for compatibility with macOS Big Sur
    - Upgrade Gradle Wrapper to `6.8.3`