I sent a patch that fixes the issue by reorganizing the module java-test
and essentially making it require 'java' instead of 'java-base'.
Unfortunately because scripts/module.py is order sensitive as far as image
parameter goes and old 'java' module got broken into 'java-isolated' and
'openjdk7' this command will actually fail with this error:

scripts/build -j4 image=java-tests,openjdk8-fedora && scripts/test.py
--name java.*

Building into build/release.x64
  GEN gen/include/osv/version.h
No such image configuration: java-tests,openjdk8-fedora. Assuming list of
modules.
Importing /home/wkozaczuk/projects/osv/modules/java-tests/module.py
Importing /home/wkozaczuk/projects/osv/modules/java/module.py
Importing /home/wkozaczuk/projects/osv/modules/java-isolated/module.py
Importing /home/wkozaczuk/projects/osv/modules/java-base/module.py
Importing /home/wkozaczuk/projects/osv/apps/fonts/module.py
No module.py in /home/wkozaczuk/projects/osv/modules/ca-certificates
No module.py in /home/wkozaczuk/projects/osv/modules/libz
Importing /home/wkozaczuk/projects/osv/modules/openjdk7/module.py
Importing /home/wkozaczuk/projects/osv/apps/openjdk8-fedora/module.py
Traceback (most recent call last):
  File "scripts/module.py", line 272, in <module>
    args.func(args)
  File "scripts/module.py", line 204, in build
    api.require_running(name)
  File "/home/wkozaczuk/projects/osv/scripts/osv/modules/resolve.py", line
194, in require_running
    module = require(module_name)
  File "/home/wkozaczuk/projects/osv/scripts/osv/modules/resolve.py", line
178, in require
    raise Exception("There is more than one module included that provides:
'%s'" % name )
Exception: There is more than one module included that provides: 'java'
scripts/build failed: jdkbase=$jdkbase ARCH=$arch mode=$mode OSV_BASE=$SRC
OSV_BUILD_PATH=$OSV_BUILD_PATH scripts/module.py $j_arg build -c $modules
$usrskel_arg

I introduced new check in require method in scripts/osv/resolve.py that
prohibits including more than one module that provides same thing (like
java) so that for example would fail as well:

build image=java,openjdk8-fedora

This command one works just fine:

scripts/build -j4 image=openjdk8-fedora,java-tests && scripts/test.py
--name java.*

because java-tests requires java (as it used to) and openjdk8-fedora
provides java.

So " image=java-tests,openjdk8-fedora" command just happened to work
because java module combined all files that are right now in more than one
module.

In any case is it possible to change jenkins configuration to use this:

scripts/build -j4 image=openjdk8-fedora,java-tests && scripts/test.py
--name java.*
instead of
scripts/build -j4 image=java-tests,openjdk8-fedora && scripts/test.py
--name java.*

Otherwise I will have to come up with a different idea to fix it.

Regards,
Waldek

On Wed, Dec 21, 2016 at 8:08 AM, Nadav Har'El <n...@scylladb.com> wrote:

>
> On Wed, Dec 21, 2016 at 2:20 PM, Waldek Kozaczuk <jwkozac...@gmail.com>
> wrote:
>
>> Great catch. It looks like I missed to test this combination ('make
>> check' does not trigger this one). Does it mean that jenkins jobs do more
>> than make check?
>>
>
> Yes, it does a few more things we at some point deemed useful to check
> (and necessarily any exhaustive set of applications). It also checks
> tomcat, for example.
>
>
>>
>> I will fix it.
>>
>
> Thanks.
> Nadav.
>

-- 
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to osv-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to