Giter Site home page Giter Site logo

Comments (17)

russel avatar russel commented on May 19, 2024

Given that there is support for D code in CMake, I am very likely to try and get the latest version of this plugin working in CLion.

from intellij-dlanguage.

kingsleyh avatar kingsleyh commented on May 19, 2024

Ok cool - go ahead - I'm about to have a baby - I'm going to be out of action for the rest of this year

from intellij-dlanguage.

russel avatar russel commented on May 19, 2024

@kingsleyh Good luck to you and you other half on the little one. I am assuming there are people here who can merge pull requests in your absence.

from intellij-dlanguage.

SingingBush avatar SingingBush commented on May 19, 2024

@russel I can merge but @kingsleyh needs to put builds in plugin repo. I put the last few PR's in the develop branch so they can get further testing before going into master. So currently develop is the most up to date and any further changes should go there. I've got enough time to do the occasional merge/testing/responding to issues but I've not had the time to finish the work I was looking at for a dub tool window (home life is also manic).

A while ago I did a little investigation into getting the plugin working on CLion but it's not as small a job as I'd hoped for. before moving on we really should get a new release in the plugin repo.

@kingsleyh do you have time for quick call with russel, @pirocks and me so that progress can continue

from intellij-dlanguage.

kingsleyh avatar kingsleyh commented on May 19, 2024

hey - if you can make the plugin file I need to upload to the jetbrains plugin centre I can do it. But I don't have time for anything else at the moment.

from intellij-dlanguage.

russel avatar russel commented on May 19, 2024

@SingingBush @pirocks @kingsleyh I wonder if it is time to create a DLanguage organisation with Kingsley as lead and others with owner permission such that things can always progress no matter who is "missing"? If the organisation is the entity doing the merging and uploading then there is unlikely to be a blockage. I will not be around again today I suspect, but I should be available tomorrow onwards.

from intellij-dlanguage.

kingsleyh avatar kingsleyh commented on May 19, 2024

I think the blockage is that the plugin upload only lets one person upload a plugin - unless you know of a way multiple people can do it

from intellij-dlanguage.

SingingBush avatar SingingBush commented on May 19, 2024

we should be able to set travis up in such a way that any tag gets uploaded to the plugin repo after a successful buld. the username & password just need to be set up in travis as environment variables. That way the only thing we need to do is merge all changes into master, make sure it all works as expected then create a new tag. There's examples of this kind of thing being done and I think some of the other intellij plugins do it.

from intellij-dlanguage.

kingsleyh avatar kingsleyh commented on May 19, 2024

I can't find any documentation on an automated way to deploy to the jetbrains repo - there is documentation about deployment to your own enterprise repo but not sure if that's what we need.

from intellij-dlanguage.

SingingBush avatar SingingBush commented on May 19, 2024

in the build.gradle we have:

    apply plugin: 'org.jetbrains.intellij'
    intellij {
        pluginName 'D Language'
        version ideaVersion
        plugins 'copyright'
        downloadSources Boolean.valueOf(sources)
        sameSinceUntilBuild Boolean.valueOf(isEAP)

        publish {
            username System.getenv('JETBRAINS_USERNAME')
            password System.getenv('JETBRAINS_PASSWORD')
            channel 'on-demand'
        }
    }

so as long as those variables are set in travis account then I think we could just have a build that does something like:

if current build has TRAVIS_TAG set then run ./gradlew publish. we could even use the tag name as the version string that's current defined in gradle.properties. See travis docs on env variables.

from intellij-dlanguage.

SingingBush avatar SingingBush commented on May 19, 2024

I checked the Intellij gradle plugin repo and can confirm that the publishPlugin task uploads plugin distribution archive to http://plugins.jetbrains.com

from intellij-dlanguage.

russel avatar russel commented on May 19, 2024

So if the latest release D Language plugin is uploaded to this repository, is it available for CLion as well as IntelliJ IDEA? Are we replacing rather than providing another plugin?

from intellij-dlanguage.

kingsleyh avatar kingsleyh commented on May 19, 2024

I've pushed a change to develop branch with my username and password for the env variables in the .travis.yml - hopefully this will work

from intellij-dlanguage.

khionu avatar khionu commented on May 19, 2024

Can we get a status update for this issue?

from intellij-dlanguage.

SingingBush avatar SingingBush commented on May 19, 2024

I had a quick look at this again before xmas. As mentioned before it's not a small task. The build settings can be changed to get the plugin running against a local install of CLion. Set alternativeIdePath to point to clion and also make sure that <depends>com.intellij.modules.lang</depends> has been uncommented in plugin.xml

from intellij-dlanguage.

SingingBush avatar SingingBush commented on May 19, 2024

For anyone that wants to try this out, edit build.gradle and add alternativeIdePath (pointing to a local CLion install) to the intellij plugin section:

    intellij {
        ...
        alternativeIdePath '/opt/clion-2017.3/'
    }

Now edit plugin.xml, find the line where <depends>com.intellij.modules.lang</depends> is commented it out and update to be:

    <depends>com.intellij.modules.lang</depends>
    <depends>com.intellij.modules.platform</depends>
    <depends>com.intellij.modules.vcs</depends>
    <depends>com.intellij.modules.xml</depends>
    <depends>com.intellij.modules.xdebugger</depends>

this is essentially all the common parts that are in every Jetbrains IDE (see docs).

Now you can at least boot up CLion with the plugin using ./gradlew runIde

the IDE boots fine and if you go to setting you can find the D Tools section. However when you try to load a project or create a new D project it's just not possible.

There's a NoClassDefFoundError for com.intellij.projectImport.ProjectOpenProcessorBase, so the first thing to look at is what the differences are for creating/opening projects in CLion

from intellij-dlanguage.

SingingBush avatar SingingBush commented on May 19, 2024

the CLion stuff has been rebased and merged into develop

from intellij-dlanguage.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.