From users-return-144729-archive-asf-public=cust-asf.ponee.io@maven.apache.org Thu Apr 16 10:55:17 2020 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with SMTP id 3D6EF180638 for ; Thu, 16 Apr 2020 12:55:17 +0200 (CEST) Received: (qmail 12674 invoked by uid 500); 16 Apr 2020 10:55:16 -0000 Mailing-List: contact users-help@maven.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "Maven Users List" Reply-To: "Maven Users List" Delivered-To: mailing list users@maven.apache.org Received: (qmail 12662 invoked by uid 99); 16 Apr 2020 10:55:15 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 16 Apr 2020 10:55:15 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id ECC1AC2279 for ; Thu, 16 Apr 2020 10:55:14 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0 X-Spam-Level: X-Spam-Status: No, score=0 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.2, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd4-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-ec2-va.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id 3u35Xya5LYZF for ; Thu, 16 Apr 2020 10:55:11 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=209.85.217.48; helo=mail-vs1-f48.google.com; envelope-from=aalmiray@gmail.com; receiver= Received: from mail-vs1-f48.google.com (mail-vs1-f48.google.com [209.85.217.48]) by mx1-ec2-va.apache.org (ASF Mail Server at mx1-ec2-va.apache.org) with ESMTPS id 84951BB909 for ; Thu, 16 Apr 2020 10:55:11 +0000 (UTC) Received: by mail-vs1-f48.google.com with SMTP id 184so2123961vsu.3 for ; Thu, 16 Apr 2020 03:55:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=jkwU2kB1JqG8FW5ERJb8sVufScKiozzsqQ/1MnNjcBM=; b=ftJM8Xz3MlXDvl9YRi+z60uUx+25z0kbS4N3sSRZnGwW6YogxYHn6BiBVA+5fYyEwh Yp7ZvvQNwC5/PDxu0H6iuEyDwcJpqLmcP5iFa+WjBEpbqr+G60+Z7hok9pxmGhCr+Zx0 +lKdeeM9H8tFVqYX4udI7LNafp7RGLIHbBBFIGG9e9YdR/L5Vcofe83KnAgFgMvpt7aP NtM5nz1i9nojV6R2IPcTwrTCwvaKR9TyYtI46oduf5p4kgiOwoUs5HclihYBFPDn6v/b yBjmaKYAY38m1WSfLIL7f3RsyMN8AOkDKKr9eVCTwbizXnItfkqZFHahwqmPMXN4W+l4 CFWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=jkwU2kB1JqG8FW5ERJb8sVufScKiozzsqQ/1MnNjcBM=; b=XbfmA2gM5djZr56zrMLKEwA63fRLQWa88sZrRQc10V3rZmAIz3BnGwp8f9qdG5WKE7 UcbfLof542tPaYEDkrz32BcgC58aexnuOnEBhKyUyELqKDRZ6keLFZL6rDWxWF26PQ9A 53j2r9nQF6rFUZ7JdoxFhdfn0KspFhPOcWB9D3DuIBYF3yH/f4bDR0yqxtAiZv2RioWx Puzn4ZrycFgX3LOqroYdSRkGqWG5jZbwf6EKWnCfvYBAx1U162HgPfGwfWZZwIE7wRQu 6yjfbfeoE1geI3e5YJ07+bu7zZv6djxGaZpgY72zTrHgC0rHMf030FQvu3pc/PdSqEzk 586w== X-Gm-Message-State: AGi0PuYYJkhmuQi6SQBt8V1qQ9tihrnmRPOAc8W5Tkm+1C332AENBYcS Hbu3Ch6Du53dmtkbzF2p3U7TD77M+sqpVX2f6YiltBXZ6M5cPw== X-Google-Smtp-Source: APiQypISfmfXVuUSjHYlCQWya2w+r+Zq6d+3nZUqtfcrMKcsjCXCwoIediShiCusIk4aZSGapvH/nerjhDXRuzQ/pSc= X-Received: by 2002:a67:79d0:: with SMTP id u199mr8097427vsc.115.1587034510869; Thu, 16 Apr 2020 03:55:10 -0700 (PDT) MIME-Version: 1.0 From: Andres Almiray Date: Thu, 16 Apr 2020 12:54:59 +0200 Message-ID: Subject: Launching full Maven programmatically To: Maven Users List Content-Type: multipart/alternative; boundary="000000000000444b2c05a3664415" --000000000000444b2c05a3664415 Content-Type: text/plain; charset="UTF-8" Hi, I'm looking for a way to launch Maven programmatically in such a way that I can get access to fully resolved Model and MavenProject instances, and not just for a single project but also for all projects that belong to a Reactor. At first I used this code try { FileReader reader = new FileReader(pom); MavenXpp3Reader mavenReader = new MavenXpp3Reader(); return new MavenProject(mavenReader.read(reader)); } catch (Exception e) { throw new IllegalArgumentException(e); } But of course that's not enough. Next I tried using the maven-model-builder APIs directly but not all references get resolved (such as parent POMs) as a custom ModelResolver is required and the default one is not intended to be used in standalone fashion. Ideally I would call some sort of embeddable Maven API that can give me the answers I seek, something like this MavenProject project = EmbeddableMaven.launch(propsOrFlags).file(pomFile); or alternatively something like MavenReactor reactor = EmbeddableMaven.launch(propsOrFlags).file(pomFile); for(MavenProject project : reactor.getProjects()) { /* do stuff */ } Of course I'm making up these types and method names as I do not know if something like this exist or not, hence why I'm asking here. Thanks in advance. Cheers Andres --000000000000444b2c05a3664415--