tconkling / flump

Exports Flash .FLAs to GPU-friendly formats
MIT License
381 stars 70 forks source link

Error while building Flump #151

Closed markosman closed 8 years ago

markosman commented 8 years ago

I've installed all the dependencies and I'm trying to build the flump runtime by using this command in the windows command prompt (that is mentioned as the first step here):

flump/runtime$ ant -Dairsdk.dir=/path/to/air maven-deploy

But I get this error and I have no idea what is wrong here:

Buildfile: C:\Program Files\flump\runtime\build.xml

-download-ooo-build:
      [get] Getting: http://ooo-maven.googlecode.com/hg/repository/com/threerings/ooo-build/2.5/ooo-build-2.5.jar
      [get] To: C:\Users\Mark\.m2\repository\com\threerings\ooo-build\2.5\ooo-build-2.5.jar
      [get] Error opening connection java.io.FileNotFoundException: http://ooo-maven.googlecode.com/hg/repository/com/threerings/ooo-build/2.5/ooo-build-2.5.jar

      [get] Error opening connection java.io.FileNotFoundException: http://ooo-maven.googlecode.com/hg/repository/com/threerings/ooo-build/2.5/ooo-build-2.5.jar

      [get] Error opening connection java.io.FileNotFoundException: http://ooo-maven.googlecode.com/hg/repository/com/threerings/ooo-build/2.5/ooo-build-2.5.jar

      [get] Can't get http://ooo-maven.googlecode.com/hg/repository/com/threerings/ooo-build/2.5/ooo-build-2.5.jar to C:\Users\Mark\.m2\repository\com\threerings\ooo-build\2.5\ooo-build-2.5.jar

BUILD FAILED
C:\Program Files\flump\runtime\build.xml:7: The following error occurred while executing this line:
C:\Program Files\flump\etc\bootstrap.xml:27: Can't get http://ooo-maven.googlecode.com/hg/repository/com/threerings/ooo-build/2.5/ooo-build-2.5.jar to C:\Users\Mark\.m2\repository\com\threerings\ooo-build\2.5\ooo-build-2.5.jar

Total time: 2 seconds
tconkling commented 8 years ago

Looks like we're using an out-of-date maven repo here.

If you edit etc/bootstrap.xml file and replace this line:

<get src="http://ooo-maven.googlecode.com/hg/repository/${ooo-build.path}/${ooo-build.jar}"
      dest="${ooo-build.local.file}" usetimestamp="true"/>

With this one:

<get src="https://raw.githubusercontent.com/threerings/maven-repo/master/repository/${ooo-build.path}/${ooo-build.jar}"
      dest="${ooo-build.local.file}" usetimestamp="true"/>

Does that work?

markosman commented 8 years ago

No, I get the same error.

After investigating a bit, I think that it's related to ant because the command below also failed when I ran it from the ant's directory:

ant -f fetch.xml -Ddest=system

I understand that some firewalls can cause problems with ant. My computer is located behind a NAT, can it be the culprit?

Note: I've never used ant before, so I apologize for my noobness.

tconkling commented 8 years ago

Strange, I haven't heard of this happening before. Are you able to directly download https://raw.githubusercontent.com/threerings/maven-repo/master/repository/com/threerings/ooo-build/2.5/ooo-build-2.5.jar? If so, you could put it directly into your local maven directory, which is what that command is trying to do:

C:\Users\<you>\.m2\repository\com\threerings\ooo-build\2.5\ooo-build-2.5.jar (Create any intermediate directories that don't already exist.)

There are more dependencies that get downloaded as part of the build process, so you may have to do this multiple times for different files

tconkling commented 8 years ago

Also, have you tried any of the suggestions on this page https://ant.apache.org/manual/proxy.html ?

markosman commented 8 years ago

I ran this command: ant -f fetch.xml -Ddest=system and it worked. I think that one of the links were down for some reason.

I still get the same error when trying this command: flump/runtime$ ant -Dairsdk.dir=/path/to/air maven-deploy

When I try to access the link that you gave: https://raw.githubusercontent.com/threerings/maven-repo/master/repository/com/threerings/ooo-build/2.5/ooo-build-2.5.jar I get: 404: Not Found

tconkling commented 8 years ago

Shoot! It looks like our old maven repo went away. I've cloned somebody else's clone of that original repo :) Are you able to access this?

https://raw.githubusercontent.com/tconkling/ooo-maven/master/repository/com/threerings/ooo-build/2.5/ooo-build-2.5.jar

markosman commented 8 years ago

Yes, I can access it now.

I changed the link in the file etc/bootstrap.xml and tried to run the command again and this is what I get:

c:\Program Files\flump\runtime>ant -Dairsdk.dir=C:\Program Files\airsdk_compiler maven-deploy
Buildfile: c:\Program Files\flump\runtime\build.xml

-download-ooo-build:

-extract-ooo-build:

BUILD FAILED
Target "Files\airsdk_compiler" does not exist in the project "flump-runtime".

Total time: 0 seconds

What is wrong here? Why doesn't it access the folder of the AIR SDK ?

tconkling commented 8 years ago

The space in "Program Files" is confusing your command line - it's passing the airsdk.dir param as "C:\Program" and assuming that "Files\airsdk_compiler" is another separate argument.

I'm not familiar enough with the windows CLI, but I imagine you need to quote the whole path? Or perhaps use a backslash before the space?

markosman commented 8 years ago

Yes, I guess you are right. Sorry for my noobness...

I quoted the path but now I get another error (lol...)

c:\Program Files\flump\runtime>ant -Dairsdk.dir="C:\Program Files\airsdk_compiler" maven-deploy
Buildfile: c:\Program Files\flump\runtime\build.xml

-download-ooo-build:

-extract-ooo-build:

-download-maven-ant:
    [mkdir] Created dir: C:\Users\Mark\.m2\ant-support
      [get] Getting: http://repo1.maven.org/maven2/org/apache/maven/maven-ant-tasks/2.1.3/maven-ant-tasks-2.1.3.jar
      [get] To: C:\Users\Mark\.m2\ant-support\maven-ant-tasks-2.1.3.jar

-init-maven-ant:

-init-contrib:
[artifact:dependencies] Downloading: ant-contrib/ant-contrib/1.0b2/ant-contrib-1.0b2.pom
[artifact:dependencies] Transferring 0K
[artifact:dependencies] Downloading: ant/ant/1.5/ant-1.5.pom
[artifact:dependencies] Transferring 0K
[artifact:dependencies] Downloading: ant-contrib/ant-contrib/1.0b2/ant-contrib-1.0b2.jar
[artifact:dependencies] Transferring 189K
[artifact:dependencies] Downloading: ant/ant/1.5/ant-1.5.jar
[artifact:dependencies] Transferring 699K

-init-ooo:

prepare:
    [mkdir] Created dir: c:\Program Files\flump\runtime\dist

BUILD FAILED
c:\Program Files\flump\runtime\build.xml:16: The following error occurred while executing this line:
C:\Users\Mark\.m2\ooo-build\2.5\ooo-maven-macros.xml:45: artifact:dependencies doesn't support the "dependencyRefsBuildFile" attribute

Total time: 7 seconds
tconkling commented 8 years ago

It sounds like your ant came with an old version of the maven plugin - we've seen this at least once before on Windows machines. See explanation/fix here:

https://github.com/tconkling/flump/issues/58

markosman commented 8 years ago

I think I fixed it according to the explanations there, but I get another error:

Buildfile: c:\Program Files\flump\runtime\build.xml

-download-ooo-build:

-extract-ooo-build:

-download-maven-ant:

-init-maven-ant:

-init-contrib:

-init-ooo:

prepare:
[artifact:dependencies] Downloading: com/timconkling/react-as3/1.2/react-as3-1.2.pom from repository tconkling at https://raw.github.com/tconkling/maven-repo/master
[artifact:dependencies] Transferring 0K from tconkling
[artifact:dependencies] Downloading: com/timconkling/react-as3/1.2/react-as3-1.2.swc from repository tconkling at https://raw.github.com/tconkling/maven-repo/master
[artifact:dependencies] Transferring 31K from tconkling
[artifact:dependencies] Building ant file: c:\Program Files\flump\runtime\dist/pom.xml.dependencies
[artifact:dependencies] Downloading: com/threerings/ant/actionscript/1.8/actionscript-1.8.pom from repository ooo-public at http://ooo-maven.googlecode.com/hg/repository
[artifact:dependencies] Unable to locate resource in repository
[artifact:dependencies] [INFO] Unable to find resource 'com.threerings.ant:actionscript:pom:1.8' in repository ooo-public (http://ooo-maven.googlecode.com/hg/repository)
[artifact:dependencies] Downloading: com/threerings/ant/actionscript/1.8/actionscript-1.8.pom from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Unable to locate resource in repository
[artifact:dependencies] [INFO] Unable to find resource 'com.threerings.ant:actionscript:pom:1.8' in repository central (http://repo1.maven.org/maven2)
[artifact:dependencies] Downloading: com/threerings/ant/actionscript/1.8/actionscript-1.8.jar from repository ooo-public at http://ooo-maven.googlecode.com/hg/repository
[artifact:dependencies] Unable to locate resource in repository
[artifact:dependencies] [INFO] Unable to find resource 'com.threerings.ant:actionscript:jar:1.8' in repository ooo-public (http://ooo-maven.googlecode.com/hg/repository)
[artifact:dependencies] Downloading: com/threerings/ant/actionscript/1.8/actionscript-1.8.jar from repository central at http://repo1.maven.org/maven2
[artifact:dependencies] Unable to locate resource in repository
[artifact:dependencies] [INFO] Unable to find resource 'com.threerings.ant:actionscript:jar:1.8' in repository central (http://repo1.maven.org/maven2)
[artifact:dependencies] An error has occurred while processing the Maven artifact tasks.
[artifact:dependencies]  Diagnosis:
[artifact:dependencies]
[artifact:dependencies] Unable to resolve artifact: Missing:
[artifact:dependencies] ----------
[artifact:dependencies] 1) com.threerings.ant:actionscript:jar:1.8
[artifact:dependencies]
[artifact:dependencies]   Try downloading the file manually from the project website.
[artifact:dependencies]
[artifact:dependencies]   Then, install it using the command:
[artifact:dependencies]       mvn install:install-file -DgroupId=com.threerings.ant -DartifactId=actionscript -Dversion=1.8 -Dpackaging=jar -Dfile=/path/to/file

[artifact:dependencies]
[artifact:dependencies]   Alternatively, if you host your own repository you can deploy the file there:
[artifact:dependencies]       mvn deploy:deploy-file -DgroupId=com.threerings.ant -DartifactId=actionscript -Dversion=1.8 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]
[artifact:dependencies]
[artifact:dependencies]   Path to dependency:
[artifact:dependencies]         1) org.apache.maven:super-pom:pom:2.0
[artifact:dependencies]         2) com.threerings.ant:actionscript:jar:1.8
[artifact:dependencies]
[artifact:dependencies] ----------
[artifact:dependencies] 1 required artifact is missing.
[artifact:dependencies]
[artifact:dependencies] for artifact:
[artifact:dependencies]   org.apache.maven:super-pom:pom:2.0
[artifact:dependencies]
[artifact:dependencies] from the specified remote repositories:
[artifact:dependencies]   central (http://repo1.maven.org/maven2),
[artifact:dependencies]   ooo-public (http://ooo-maven.googlecode.com/hg/repository)
[artifact:dependencies]
[artifact:dependencies]
[artifact:dependencies]

BUILD FAILED
c:\Program Files\flump\runtime\build.xml:17: The following error occurred while
executing this line:
C:\Users\Mark\.m2\ooo-build\2.5\ooo-maven-macros.xml:174: The following error occurred while executing this line:
C:\Users\Mark\.m2\ooo-build\2.5\ooo-maven-macros.xml:52: Unable to resolve artifact: Missing:
----------
1) com.threerings.ant:actionscript:jar:1.8

  Try downloading the file manually from the project website.

  Then, install it using the command:
      mvn install:install-file -DgroupId=com.threerings.ant -DartifactId=actionscript -Dversion=1.8 -Dpackaging=jar -Dfile=/path/to/file

  Alternatively, if you host your own repository you can deploy the file there:

      mvn deploy:deploy-file -DgroupId=com.threerings.ant -DartifactId=actionscript -Dversion=1.8 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]

  Path to dependency:
        1) org.apache.maven:super-pom:pom:2.0
        2) com.threerings.ant:actionscript:jar:1.8

----------
1 required artifact is missing.

for artifact:
  org.apache.maven:super-pom:pom:2.0

from the specified remote repositories:
  central (http://repo1.maven.org/maven2),
  ooo-public (http://ooo-maven.googlecode.com/hg/repository)

Total time: 6 seconds

I don't know if it is related, but this link gives me a 404 error when I try to access it in the browser: http://ooo-maven.googlecode.com/hg/repository

samskivert commented 8 years ago

On Sun, Aug 21, 2016 at 9:05 AM, markosman notifications@github.com wrote:

[artifact:dependencies] Downloading: com/threerings/ant/ actionscript/1.8/actionscript-1.8.pom from repository ooo-public at http://ooo-maven.googlecode.com/hg/repository

The ooo-build stuff internally still references the ooo-maven.googlecode.com repo.

I migrated all the ooo-maven artifacts to github.com/threerings/maven-repo (which we already had but had only migrated one of the artifacts to), and updated ooo-build to reference the new repository on Github, and then shipped ooo-build 2.10.

So if you replace flump's bootstrap.xml with the contents of https://raw.githubusercontent.com/threerings/maven-repo/master/bootstrap.xml and then bump the ooo-build version to 2.10, you should be good to go.

If you don't already have commit access to threerings/maven-repo Tim, I can make sure you do, in case you need to put any other new artifacts up there or tweak ooo-build for any reason. You're probably the only remaining active customer. :)

-- mdb@samskivert.com

tconkling commented 8 years ago

Huzzah! @markosman, if you replace bootstrap.xml with the file Michael posted above, does that move you in the right direction?

markosman commented 8 years ago

I also had to change this line in flump\runtime\build.xml:

<property name="ooo-build.vers" value="2.5"/>

to this line:

<property name="ooo-build.vers" value="2.10"/>

and it worked. I still can't believe it worked, lol... Anyway, thanks for your help :)

tconkling commented 8 years ago

Great! Thanks for bearing with us.