Building a package for Apple platform shouldn't use JExtractSwiftPlugin plugin and swift-java dependency at all

Aberta
#694 1 comentário 5 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
48/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Pouca atividade
Stack de tecnologia
swift
Domínio
build-system

Direção de pesquisa

Comece pelo manifesto Package.swift e pelo script Gradle descritos na issue. Revise como o pacote Swift está configurado para builds Apple e Android e, em seguida, verifique se os builds Apple não adicionam a dependência SwiftJava nem o JExtractSwiftPlugin, enquanto os builds Android mantêm a integração necessária.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

As per discussion with @ktoso on Slack:

When using a shared Swift package between Android and iOS, macOS etc…, we can't have the JExtractSwiftPlugin be used, and we don't want the swift-java dependency at all even.

The current workaround is to use an ENV variable inside the Package.swift manifest which only adds the dependency and plugin to the target if built for Android (The environment variable needs to be set in the gradle script in that case)

import Foundation.NSProcessInfo

let isSwiftJavaBuild = ProcessInfo.processInfo.environment["SWIFT_JAVA_BUILD"] != nil

if isSwiftJavaBuild {
    package.targets.first?.dependencies.append(.product(name: "SwiftJava", package: "swift-java"))
    package.targets.first?.plugins?.append(.plugin(name: "JExtractSwiftPlugin", package: "swift-java"))
}
Linguagem predominante
Swift
Estrelas
1.3k
Forks
129
Merge médio
7h 16min
PRs com merge (30d)
4

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de swiftlang/swift-java

Todas as issues de swiftlang/swift-java

Issues semelhantes

Mais issues de Swift

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.