Building from source

I'm looking to add better refactoring support to la clojure, I just seem to be running into some problems with building the IDE from source. I'm pretty sure I've sorted out all the dependencies and such, but when I try to run the tests, I get an error saying "JFlex home path is invalid". This seems confusing, as the JFlex jar is inside the ./lib directory, so it should be loaded. The only other option I can think of is that maybe when sorting out dependancies I have somehow missed adding JFlex to them somwhere.

Once I have this working I'll write up a guide to building La Clojure from source so that other people can contribute.

10 comments

Hello, Tom.

Sorry for that tremendous delay with the answer.
There might be multiple causes of your problem. First, make sure, that all properties in the clojure.properties file point to the right locations and are uncommented.
After that run "ant run.tests" from the command line. If it still doesn't work, could you please, provide some extra information or error messages you get to help us find out what's a problem.
Thanks.

With best regards,
Ilya

0

I cannot build the source as well. I use IdeaX IU-98.117 build for this. After changing the clojure.properties file

c:\projects\clojure-plugin>less clojure.properties
idea.home=c:/tools/JetBrains/IntelliJ IDEA 98.117
clojure.lib=c:/java/clojure-1.2.0
clojure.contrib=c:/java/clojure-contrib-1.2.0



and running ant run.tests I get:


Total time: 7 seconds
c:\projects\clojure-plugin>ant run.tests
Buildfile: build.xml


make.lexer:


unzip.last.successful.IDEA.build:


make.java:
     [copy] Copying 1 file to c:\projects\clojure-plugin\out\production\clojure-plugin\META-INF
   [javac2] Compiling 204 source files to c:\projects\clojure-plugin\out\production\clojure-plugin
   [javac2] c:\projects\clojure-plugin\src\org\jetbrains\plugins\clojure\compiler\ClojureBackendCompiler.java:5: cannot find symbol
   [javac2] symbol  : class DependencyProcessor
   [javac2] location: package com.intellij.compiler.impl.javaCompiler
   [javac2] import com.intellij.compiler.impl.javaCompiler.DependencyProcessor;
   [javac2]                                               ^
   [javac2] c:\projects\clojure-plugin\src\org\jetbrains\plugins\clojure\compiler\ClojureBackendCompiler.java:173: cannot find symbol
   [javac2] symbol  : class DependencyProcessor
   [javac2] location: class org.jetbrains.plugins.clojure.compiler.ClojureBackendCompiler
   [javac2]   public DependencyProcessor getDependencyProcessor() {
   [javac2]          ^
   [javac2] c:\projects\clojure-plugin\src\org\jetbrains\plugins\clojure\compiler\ClojureDependencyProcessor.java:3: cannot find symbol
   [javac2] symbol  : class DependencyProcessor
   [javac2] location: package com.intellij.compiler.impl.javaCompiler
   [javac2] import com.intellij.compiler.impl.javaCompiler.DependencyProcessor;
   [javac2]                                               ^
   [javac2] c:\projects\clojure-plugin\src\org\jetbrains\plugins\clojure\compiler\ClojureDependencyProcessor.java:13: cannot find symbol
   [javac2] symbol: class DependencyProcessor
   [javac2] public class ClojureDependencyProcessor implements DependencyProcessor {
   [javac2]                                                    ^
   [javac2] c:\projects\clojure-plugin\src\org\jetbrains\plugins\clojure\ClojureLoader.java:101: cannot find symbol
   [javac2] symbol  : method getInstance()
   [javac2] location: class com.intellij.refactoring.rename.RenameInputValidatorRegistry
   [javac2]     RenameInputValidatorRegistry.getInstance().registerInputValidator(new ClojureSymbolPattern(), new ClojureRenameInputValidator());
   [javac2]                                 ^
   [javac2] c:\projects\clojure-plugin\src\org\jetbrains\plugins\clojure\compiler\ClojureBackendCompiler.java:172: method does not override or implement a method from a supertype
   [javac2]   @Override
   [javac2]   ^
   [javac2] c:\projects\clojure-plugin\src\org\jetbrains\plugins\clojure\documentation\ClojureDocumentationProvider.java:17: org.jetbrains.plugins.clojure.documentation.ClojureDocumentationProvider is not ab
stract and does not override abstract method getQuickNavigateInfo(com.intellij.psi.PsiElement,com.intellij.psi.PsiElement) in com.intellij.lang.documentation.DocumentationProvider
   [javac2] public class ClojureDocumentationProvider implements DocumentationProvider {
   [javac2]        ^
   [javac2] c:\projects\clojure-plugin\src\org\jetbrains\plugins\clojure\refactoring\rename\ClojureRenameInputValidator.java:13: org.jetbrains.plugins.clojure.refactoring.rename.ClojureRenameInputValidator i
s not abstract and does not override abstract method getPattern() in com.intellij.refactoring.rename.RenameInputValidator
   [javac2] public class ClojureRenameInputValidator implements RenameInputValidator {
   [javac2]        ^
   [javac2] Note: Some input files use or override a deprecated API.
   [javac2] Note: Recompile with -Xlint:deprecation for details.
   [javac2] Note: Some input files use unchecked or unsafe operations.
   [javac2] Note: Recompile with -Xlint:unchecked for details.
   [javac2] 8 errors


BUILD FAILED
c:\projects\clojure-plugin\build.xml:126: Compile failed; see the compiler error output for details.

0

I'm also experiencing this error and it appears no one is looking into it given the > 1 month delay :( If someone were to take a look at this it would be awesome.

0

I have had success building against 9.0.4 (build 95.627). Building against IdeaX (98.402) though, didn't work for me (got same compile errors as above).

According to another thread there supposedly is an IDEA X branch in the Git repository, but I can't find it (it could be my lacking Git skills).

I really would like to run La Clojure in IntelliJ IDEA 10, but so far, no luck.

0

Hi Patrik.

Please find an updated version of the plugin for IntelliJ IDEA X public preview in the plugin repository.
Sorry for long silence.

With best regards,
Ilya

0

Awesome!  Can't wait to try it out.

Should we expect to the the git repository updated with fresh commits as well soon?

I saw a reference sometime ago to a new branch were activity was going on, but that doesn't appear to be pushed to the public repo at all.

Mark

0

Hi Mark.

All IDEA X-related changes have been done in the remote branch `clojure-idea-x' of the git repository at

git://git.labs.intellij.net/idea/clojure-plugin

It will be merged with the master branch before IDEA X release.

With best regards,
Ilya

0

For the non-git inclined, the complete url is:
git://git.jetbrains.org/idea/clojure-plugin.git

0

when i do a git branch -a I dont see any newer branches and the lastest file checked into that git repo was 3 months ago, is there a different url that is being more actively used?

0

I can't see any remote branches either, although I'm a little git-helpless. Ilya, any help getting the most recent source would be greatly appreciated.

0

Please sign in to leave a comment.