Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
H
heroku-buildpack-nodejs
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Python-Dev
heroku-buildpack-nodejs
Commits
deee2735
Commit
deee2735
authored
Jan 13, 2012
by
David Dollar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
try new version resolver
parent
5d6bb2c7
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
41 additions
and
11 deletions
+41
-11
compile
bin/compile
+41
-11
No files found.
bin/compile
View file @
deee2735
...
@@ -38,11 +38,33 @@ function manifest_versions() {
...
@@ -38,11 +38,33 @@ function manifest_versions() {
curl
"http://
${
S3_BUCKET
}
.s3.amazonaws.com/manifest.
${
1
}
"
-s
-o
- |
tr
-s
'\n'
' '
curl
"http://
${
S3_BUCKET
}
.s3.amazonaws.com/manifest.
${
1
}
"
-s
-o
- |
tr
-s
'\n'
' '
}
}
function
resolve_versions
()
{
function
resolve_version
()
{
args
=
""
available_versions
=
"
$1
"
for
version
in
$1
;
do
args
=
"
${
args
}
-v
\"
${
version
}
\"
"
;
done
requested_version
=
"
$2
"
for
version
in
$2
;
do
args
=
"
${
args
}
-r
\"
${
version
}
\"
"
;
done
default_version
=
"
$3
"
eval
vendor/node-semver/bin/semver
${
args
}
|
tail
-r
|
head
-n1
if
[
"
$2
"
==
""
]
;
then
echo
$3
else
args
=
""
for
version
in
$available_versions
;
do
args
=
"
${
args
}
-v
\"
${
version
}
\"
"
;
done
for
version
in
$requested_version
;
do
args
=
"
${
args
}
-r
\"
${
version
}
\"
"
;
done
eval
vendor/node-semver/bin/semver
${
args
}
|
tail
-r
|
head
-n1
fi
}
function
package_engine_version
()
{
version
=
$(
cat
$BUILD_DIR
/package.json |
$LP_DIR
/vendor/json/json engines.
$1
)
if
[
$?
==
0
]
;
then
echo
$version
fi
}
function
package_resolve_version
()
{
engine
=
"
$1
"
resolved_version
=
$(
resolve_version
$engine_versions
[
$engine
]
$engine_requested
[
$engine
]
$engine_defaults
[
$engine
]
)
echo
"rv:
${
resolved_version
}
"
}
}
# config
# config
...
@@ -58,15 +80,23 @@ LP_DIR=`cd $(dirname $0); cd ..; pwd`
...
@@ -58,15 +80,23 @@ LP_DIR=`cd $(dirname $0); cd ..; pwd`
CACHE_STORE_DIR
=
"
$CACHE_DIR
/node_modules/
$NPM_VERSION
"
CACHE_STORE_DIR
=
"
$CACHE_DIR
/node_modules/
$NPM_VERSION
"
CACHE_TARGET_DIR
=
"
$BUILD_DIR
/node_modules"
CACHE_TARGET_DIR
=
"
$BUILD_DIR
/node_modules"
# determine available versions
declare
-A
engine_versions
NODEJS_VERSIONS
=
$(
manifest_versions
"nodejs"
)
declare
-A
engine_defaults
NPM_VERSIONS
=
$(
manifest_versions
"npm"
)
declare
-A
engine_requested
engine_versions[
"node"
]=
$(
manifest_versions
"node"
)
engine_requested[
"node"
]=
$(
package_engine_version
"node"
)
engine_versions[
"npm"
]=
$(
manifest_versions
"npm"
)
engine_requested[
"npm"
]=
$(
package_engine_version
"npm"
)
package_resolve_version
"node"
exit
1
# determine requested versions
# determine requested versions
engines
=
$(
cat
$BUILD_DIR
/package.json |
$LP_DIR
/vendor/json/json engines 2>&1
)
requested_
engines
=
$(
cat
$BUILD_DIR
/package.json |
$LP_DIR
/vendor/json/json engines 2>&1
)
if
[
$?
==
0
]
&&
[
"
$engines
"
!=
""
]
;
then
if
[
$?
==
0
]
&&
[
"
$requested_engines
"
!=
""
]
;
then
REQUESTED_NODE_VERSION
=
$(
cat
$BUILD_DIR
/package.json |
$LP_DIR
/vendor/json/json engines.node
)
REQUESTED_NPM_VERSION
=
$(
cat
$BUILD_DIR
/package.json |
$LP_DIR
/vendor/json/json engines.npm 2>&1
)
REQUESTED_NPM_VERSION
=
$(
cat
$BUILD_DIR
/package.json |
$LP_DIR
/vendor/json/json engines.npm 2>&1
)
else
else
REQUESTED_NODE_VERSION
=
""
REQUESTED_NODE_VERSION
=
""
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment