Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mruby
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Libraries
mruby
Commits
63bf375b
Commit
63bf375b
authored
Apr 23, 2014
by
take_cheeze
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implement default gem info to use when there is no depending gem is defined.
parent
f2204ee5
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
24 additions
and
3 deletions
+24
-3
tasks/mrbgem_spec.rake
tasks/mrbgem_spec.rake
+23
-2
tasks/mrbgems.rake
tasks/mrbgems.rake
+1
-1
No files found.
tasks/mrbgem_spec.rake
View file @
63bf375b
...
...
@@ -94,9 +94,10 @@ module MRuby
end
def
add_dependency
(
name
,
*
requirements
)
default_gem
=
requirements
.
last
.
kind_of?
(
Hash
)
?
requirements
.
pop
:
nil
requirements
=
[
'>= 0.0.0'
]
if
requirements
.
empty?
requirements
.
flatten!
@dependencies
<<
{
:gem
=>
name
,
:requirements
=>
requirements
}
@dependencies
<<
{
:gem
=>
name
,
:requirements
=>
requirements
,
:default
=>
default_gem
}
end
def
self
.
bin
=
(
bin
)
...
...
@@ -282,9 +283,29 @@ module MRuby
@ary
.
empty?
end
def
check
def
check
(
build
)
gem_table
=
@ary
.
reduce
({})
{
|
res
,
v
|
res
[
v
.
name
]
=
v
;
res
}
default_gems
=
[]
each
do
|
g
|
g
.
dependencies
.
each
do
|
dep
|
default_gems
<<
dep
if
dep
[
:default
]
and
not
gem_table
.
key?
dep
[
:gem
]
end
end
until
default_gems
.
empty?
def_gem
=
default_gems
.
pop
spec
=
build
.
gem
def_gem
[
:default
]
fail
"Invalid gem name:
#{
spec
.
name
}
(Expected:
#{
def_gem
[
:gem
]
}
)"
if
spec
.
name
!=
def_gem
[
:gem
]
spec
.
setup
spec
.
dependencies
.
each
do
|
dep
|
default_gems
<<
dep
if
dep
[
:default
]
and
not
gem_table
.
key?
dep
[
:gem
]
end
gem_table
[
spec
.
name
]
=
spec
end
each
do
|
g
|
g
.
dependencies
.
each
do
|
dep
|
name
=
dep
[
:gem
]
...
...
tasks/mrbgems.rake
View file @
63bf375b
...
...
@@ -2,7 +2,7 @@ MRuby.each_target do
if
enable_gems?
# set up all gems
gems
.
each
(
&
:setup
)
gems
.
check
gems
.
check
self
# loader all gems
self
.
libmruby
<<
objfile
(
"
#{
build_dir
}
/mrbgems/gem_init"
)
...
...
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