How can a cloned snapshot not compile?

OK I cloned a snapshot of community using git through the API. IT was put ina  new directory and configured with  JDK 1.6 (_23) and lib.tools are per specficiation on the supporting website. I have done this before and it's built with warnings but no errors.

But toda, no  go.7 error instances invovling 3 disticnt "cannot find symbol" type errors. For the morbidly curious they are all located in  in ..\community\platform\util\testSrc.

Which tells me that testSrc ought to be excluded from the build,  if only on the grounds that it doesn't compile and it's *just test stuff* anyway.... er, right.

Here is  my question-

How is it that I can clone the repo thus
                                                 Git Repository URL:  git://git.jetbrains.org/idea/community.git
                                                 Directory Name : community

and get a version that doesn't  build?
I am asking this because I need to be able to instruct others how to clone the community edition and build it. Is there some *specific* RUL of Directory Name other than the ones I entered which is guaranteed to retrieve a buildable clone?

TIA





5 comments
Comment actions Permalink

Is there some *specific* URL of Directory Name other than the ones I entered which is guaranteed to retrieve a buildable clone?



Be warned that the below is just what I did to get it to work for me. I'm not a Git guy nor an IDEA guy and I have no real idea what I'm doing.
So when I say "the right branch" and "do this to get that" - take it for what it's worth.

I think just doing a clone gets you an image of the current daily work in progress on the main line of development (not sure what the correct Git term is).  Even if it did compile (it usually does, so this might not be your problem at all) - it's probably not what you want anyway.  At least it wasn't what I wanted.  I'm working on a plugin for the latest released version of IDEA, so I actually want the code that was used to build the version of IDEA that I want my plugin to work on, not just a random snapshot of the code.

First, I changed over to the branch responsible for v11 development (I think):
"git checkout remotes/origin/nika"


I don't know how you're supposed to know what branch you want - I just couldn't find the tag I wanted after doing a basic clone operation and the "nika" branch is where I found it.  Could be totally the wrong thing to do.

That gets onto the right branch, but it's the latest code on that branch, you're still getting a random snapshot.  After changing branch I did this:

"git checkout idea/111.69"



I got the "111.69" from the build number that you get in the about box.

So I think at that point, you should have something that will compile - guaranteed or your money back.

Cheers,
Shorn.



P.S. Also, after you've got a working compile, you're going to run into this: http://devnet.jetbrains.net/thread/433157

0
Comment actions Permalink

THe trouble I am having in locating and accessing a compilable version is I don't have a git tool which displays or gives me access to anything.

If I use IntelliJ the only option I have is to type in the URL to community.git and start downloading . This is actually  what Intellij tells you to do, but it doesn't build for reasons we've guessed at.

I am windows and have tried a number of git GUI tools but none of them allow me to "nose" around a remote depository "space" ; you have to type in the exact thing thing you want. What are the URLs to what's out there and what does each URL represent? Who knows? Not me.

I finally got a compilable version on my machine ("compilation completed sucessfully with 1.599 warnings") by doing this tongiht (which may be imprtant b/c it may not work tomorrow or even 10 minutes after I did it, if the code in the repository is effectivel a moving target).

OK I hate to say this but I donwloaded netbeans, then used their VCS interface . I typed in the communitygit address and it showed me something no other interface showed me- a number of choices nika (11) maia (1) etc. I went for broke, selected nika, shunted the result into a directory with today's date on it and came back an hour later. I then opened Intellij, then  the project which was the result of the download, then set up the JDK to be JDK6.023 (and also included lib/tools ). Then I pushed Build->rebuild project and that worked.


OT, NB devs are extremely high quality but I hate NB product at least because it's unbuildable... they have it download various versions of various open source things from various places everywhere and by the time it's all been retrieved of course it won't build because someone somewhere on one of these projects which is not owned by NB *did something to something at sometime * which means your NB doesn't build.

I wish Jetbrains would release a .zip of the community source  and all dependencies in one zip. Unzip it , open it, build it, done. I know that there are always new patches so now for some potential uses of the source, it can get confusing as to what "the 11 community source code"  is, but here's my take on this. If JB saw fit to shipped it as, say,  the 11 release, then it ships as a zip and that's what is 11 until 12 comes out and nevermind the sub version incremental releases. If its fit and  and  it shipped then its zipped.. The offical 11 community edition source is what shipped as the first 11 release, arguably the least good 11 release.

My unsolicited 2 cents

0
Comment actions Permalink

My clone was actually done from GitHub: https://github.com/JetBrains/intellij-community
It does list the branches and tags (though obviously the development process for IDEA and associated tools results in a fair few tags).
I don't really know how to drive it, but I think you can also download zip files from there as well (dunno if you can get a zip for a particular tag though).

0
Comment actions Permalink

What errors specifically did you get? I've checked the logs on TeamCity and don't see any compilation errors for the community edition source base recently.

That said, if you're checking out the 'master' branch of the IntelliJ IDEA source code, it's the current development branch, and there can be situations when a checkout at a specific time does not compile. If you want a version that is guaranteed to compile, you need to either check out a specific tag or to download the source code of a released version as a snapshot file.

0

Please sign in to leave a comment.