Distribution script (Standalone IDE)

Hi!

 

I am trying to create Standalone IDE for my test "Project", and I'm using this manual: https://confluence.jetbrains.com/display/MPSD33/Building+standalone+IDEs+for+your+languages

I've used wizard to create "build solution" and it generated two scripts ("Project" and "Project distribution"). Solution rebuilds without any problems, but the generated "Project districution" contains commands like this:

{code}
tar ${build.number}-linux.tar.gz (compression gzip)
  folder Project1 ${version}
    import files from Project1::/
      <any>
    folder bin
      file $mps_home/bin/linux/fsnotifier (755)
      file $mps_home/bin/linux/fsnotifier64 (755)
      file $mps_home/bin/mps.vmoptions (644)
        fix eol: convert to a single LF, remove eof (Ctrl-Z): true
      file $mps_home/bin/mps64.vmoptions (644)
        fix eol: convert to a single LF, remove eof (Ctrl-Z): true
      files from $mps_home/bin/linux
        exclude **/fsnotifier
        exclude **/fsnotifier64
       
    file $mps_home/mps.sh (755)
      fix eol: convert to a single LF, remove eof (Ctrl-Z): true

zip ${build.number}.zip
  folder Project1 ${version}
    import files from Project1::/
      <any>
    folder bin
      file $mps_home/bin/mps.vmoptions (644)
      file $mps_home/bin/mps.exe.vmoptions (644)
      file $mps_home/bin/mps64.vmoptions (644)
      file $mps_home/bin/mps64.exe.vmoptions (644)
      folder win
        files from $mps_home/bin/win
          exclude **/*.exe
        filemode folders: <default (755)>, files: 755
          files from $mps_home/bin/win
            include **/*.exe
           
      folder linux
        files from $mps_home/bin/linux
          exclude **/fsnotifier
          exclude **/fsnotifier64
        file $mps_home/bin/linux/fsnotifier (755)
        file $mps_home/bin/linux/fsnotifier64 (755)
         
      folder nix
        filemode folders: <default (755)>, files: 755
          files from $mps_home/bin/nix
           
      folder mac
        file $mps_home/bin/mac/libbreakgen.jnilib (644)
        file $mps_home/bin/mac/libbreakgen64.jnilib (644)
        file $mps_home/bin/mac/restarter (755)
        file $mps_home/bin/mac/fsnotifier (755)
        file $mps_home/bin/mac/printenv.py (755)
        folder Contents
          folder Resources
            file $mps_home/bin/mac/Contents/Resources/mps.icns (644)
             
          folder MacOS
            file $mps_home/bin/mac/Contents/MacOS/mps (755)
            file $mps_home/bin/mac/Contents/MacOS/idea_appLauncher (644)
             
          file $mps_home/bin/mac/Contents/Info.plist (644)
           
    file $mps_home/mps.sh (755)
    file $mps_home/mps.bat (755)
     
zip ${build.number}-macos.zip
  folder Project1 ${version}.app
    folder Contents
      import files from Project1::/
        <any>
      folder Resources
        file $mps_home/bin/mac/Contents/Resources/mps.icns (644)
         
      folder MacOS
        file $mps_home/bin/mac/Contents/MacOS/mps (755)
        file $mps_home/bin/mac/Contents/MacOS/idea_appLauncher (644)
         
      file $mps_home/bin/mac/Contents/Info.plist (644)
      folder bin
        file $mps_home/bin/mac/libbreakgen.jnilib (644)
        file $mps_home/bin/mac/libbreakgen64.jnilib (644)
        file $mps_home/bin/mac/restarter (755)
        file $mps_home/bin/mac/fsnotifier (755)
        file $mps_home/bin/mps.vmoptions (644)
          fix eol: convert to a single LF, remove eof (Ctrl-Z): true
        file $mps_home/bin/mps64.vmoptions (644)
          fix eol: convert to a single LF, remove eof (Ctrl-Z): true
        file $mps_home/bin/mac/printenv.py (755)
          fix eol: convert to a single LF, remove eof (Ctrl-Z): true
         
      file $mps_home/mps.sh (755)
        fix eol: convert to a single LF, remove eof (Ctrl-Z): true
{code}

The problem is that folder "$mps_home/bin" (which points to the "/Applications/MPS 3.3.app/Contents/bin/") does not have "linux" or "mac". The same way there're no files like: "/Applications/MPS 3.3.app/Contents/bin/mps.exe.vmoption" or "/Applications/MPS 3.3.app/Contents/mps.sh"

I'm using default Mac OS X version downloaded from here: https://www.jetbrains.com/mps/download/#section=osx-version

Though, Win version of the MPS 3.3 that I have on another computer also does not have folders "bin/linux" and "bin/mac"

When I'm trying to run "Project Distribution" as expected it reports: "BUILD FAILED /Applications/MPS 3.3.app/Contents/bin/linux does not exist."

Despite all that mentined tutorial in the part "Inspecting the Generated Directory Structure" shows as if 3 archive files ought to be created:
1. project.zip
2. project-macos.zip
3. project-linux.tar.gx

What do I do wrong? Is there some other distribution of the MPS that I should install to get all the files required to build standalone IDE?

Thanks in advance.

1 comment

Ok, I downloaded "Generic Distribution" from here: https://www.jetbrains.com/mps/download/#section=generic-version

It contains all the required files. I didn't figure out yet how to use this distribution on mac, so I just dropped it in some folder "x" and then created path variable "mps_home" in my main mac MPS distribution, pointing to "x/MPS 3.3".

After this distribution script executed successfully - producing all three packages.

1

Please sign in to leave a comment.