Skip to content
2 changes: 1 addition & 1 deletion _integration_tests/zip/ipa_reader_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ import (
"testing"

"github.com/bitrise-io/go-utils/v2/log"
"github.com/bitrise-io/go-xcode/profileutil"
"github.com/bitrise-io/go-xcode/v2/_integration_tests"
"github.com/bitrise-io/go-xcode/v2/artifacts"
internalzip "github.com/bitrise-io/go-xcode/v2/internal/zip"
"github.com/bitrise-io/go-xcode/v2/plistutil"
"github.com/bitrise-io/go-xcode/v2/profileutil"
"github.com/bitrise-io/go-xcode/v2/zip"
"github.com/stretchr/testify/require"
)
Expand Down
9 changes: 2 additions & 7 deletions artifacts/ipa_reader.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package artifacts
import (
"fmt"

"github.com/bitrise-io/go-xcode/profileutil"
"github.com/bitrise-io/go-xcode/v2/plistutil"
"github.com/bitrise-io/go-xcode/v2/profileutil"
)

// IPAReader ...
Expand All @@ -24,12 +24,7 @@ func (reader IPAReader) ProvisioningProfileInfo() (*profileutil.ProvisioningProf
return nil, err
}

profilePKCS7, err := profileutil.ProvisioningProfileFromContent(b)
if err != nil {
return nil, fmt.Errorf("failed to parse embedded.mobilprovision: %w", err)
}

provisioningProfileInfo, err := profileutil.NewProvisioningProfileInfo(*profilePKCS7)
provisioningProfileInfo, err := profileutil.NewProvisioningProfileInfoFromPKCS7Content(b)
if err != nil {
return nil, fmt.Errorf("failed to read profile info: %w", err)
}
Expand Down
2 changes: 1 addition & 1 deletion autocodesign/autocodesign.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ import (
"github.com/bitrise-io/go-utils/v2/log"
"github.com/bitrise-io/go-utils/v2/retry"
"github.com/bitrise-io/go-xcode/certificateutil"
"github.com/bitrise-io/go-xcode/profileutil"
"github.com/bitrise-io/go-xcode/v2/autocodesign/devportalclient/appstoreconnect"
"github.com/bitrise-io/go-xcode/v2/devportalservice"
"github.com/bitrise-io/go-xcode/v2/profileutil"
"github.com/bitrise-io/go-xcode/xcodeproject/serialized"
)

Expand Down
2 changes: 1 addition & 1 deletion autocodesign/localcodesignasset/localcodesignasset_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ import (

"github.com/bitrise-io/go-xcode/certificateutil"
"github.com/bitrise-io/go-xcode/exportoptions"
"github.com/bitrise-io/go-xcode/profileutil"
"github.com/bitrise-io/go-xcode/v2/autocodesign"
"github.com/bitrise-io/go-xcode/v2/autocodesign/devportalclient/appstoreconnect"
"github.com/bitrise-io/go-xcode/v2/autocodesign/localcodesignasset/mocks"
"github.com/bitrise-io/go-xcode/v2/profileutil"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
)
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion autocodesign/localcodesignasset/profile.go
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package localcodesignasset

import (
"github.com/bitrise-io/go-xcode/profileutil"
"github.com/bitrise-io/go-xcode/v2/autocodesign"
"github.com/bitrise-io/go-xcode/v2/autocodesign/devportalclient/appstoreconnect"
"github.com/bitrise-io/go-xcode/v2/autocodesign/devportalclient/time"
"github.com/bitrise-io/go-xcode/v2/profileutil"
)

// Profile ...
Expand Down
35 changes: 33 additions & 2 deletions autocodesign/localcodesignasset/profileconverter.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@ package localcodesignasset

import (
"os"
"path/filepath"

"github.com/bitrise-io/go-xcode/profileutil"
"github.com/bitrise-io/go-utils/v2/pathutil"
"github.com/bitrise-io/go-xcode/v2/autocodesign"
"github.com/bitrise-io/go-xcode/v2/profileutil"
)

// ProvisioningProfileConverter ...
Expand All @@ -22,7 +24,7 @@ func NewProvisioningProfileConverter() ProvisioningProfileConverter {

// ProfileInfoToProfile ...
func (c provisioningProfileConverter) ProfileInfoToProfile(info profileutil.ProvisioningProfileInfoModel) (autocodesign.Profile, error) {
_, pth, err := profileutil.FindProvisioningProfile(info.UUID)
pth, err := findProvisioningProfile(info.UUID)
if err != nil {
return nil, err
}
Expand All @@ -33,3 +35,32 @@ func (c provisioningProfileConverter) ProfileInfoToProfile(info profileutil.Prov

return NewProfile(info, content), nil
}

func findProvisioningProfile(uuid string) (string, error) {
// TODO: wire in as a dep on the struct
pathModifier := pathutil.NewPathModifier()
pathChecker := pathutil.NewPathChecker()

absProvProfileDirPath, err := pathModifier.AbsPath(profileutil.ProvProfileSystemDirPath)
if err != nil {
return "", err
}

iosProvisioningProfileExt := ".mobileprovision"
pth := filepath.Join(absProvProfileDirPath, uuid+iosProvisioningProfileExt)
if exist, err := pathChecker.IsPathExists(pth); err != nil {
return "", err
} else if exist {
return pth, nil
}

macOsProvisioningProfileExt := ".provisionprofile"
pth = filepath.Join(absProvProfileDirPath, uuid+macOsProvisioningProfileExt)
if exist, err := pathChecker.IsPathExists(pth); err != nil {
return "", err
} else if exist {
return pth, nil
}

return "", nil
}
2 changes: 1 addition & 1 deletion autocodesign/localcodesignasset/profilelookup.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ import (
"strings"
"time"

"github.com/bitrise-io/go-xcode/profileutil"
"github.com/bitrise-io/go-xcode/v2/autocodesign"
"github.com/bitrise-io/go-xcode/v2/profileutil"
)

func findProfile(localProfiles []profileutil.ProvisioningProfileInfoModel, platform autocodesign.Platform, distributionType autocodesign.DistributionType, bundleID string, entitlements autocodesign.Entitlements, minProfileDaysValid int, certSerials []string, deviceUDIDs []string) *profileutil.ProvisioningProfileInfoModel {
Expand Down
2 changes: 1 addition & 1 deletion autocodesign/localcodesignasset/profilelookup_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import (

"github.com/bitrise-io/go-xcode/certificateutil"
"github.com/bitrise-io/go-xcode/exportoptions"
"github.com/bitrise-io/go-xcode/profileutil"
"github.com/bitrise-io/go-xcode/v2/autocodesign"
"github.com/bitrise-io/go-xcode/v2/profileutil"
"github.com/stretchr/testify/assert"
)

Expand Down
11 changes: 9 additions & 2 deletions autocodesign/localcodesignasset/profileprovider.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
package localcodesignasset

import "github.com/bitrise-io/go-xcode/profileutil"
import (
"github.com/bitrise-io/go-utils/v2/fileutil"
"github.com/bitrise-io/go-utils/v2/log"
"github.com/bitrise-io/go-utils/v2/pathutil"
"github.com/bitrise-io/go-xcode/v2/profileutil"
)

// ProvisioningProfileProvider can list profile infos.
type ProvisioningProfileProvider interface {
Expand All @@ -16,5 +21,7 @@ func NewProvisioningProfileProvider() ProvisioningProfileProvider {

// ListProvisioningProfiles ...
func (p provisioningProfileProvider) ListProvisioningProfiles() ([]profileutil.ProvisioningProfileInfoModel, error) {
return profileutil.InstalledProvisioningProfileInfos(profileutil.ProfileTypeIos)
// TODO: wire in as a dep on the struct
profileReader := profileutil.NewProfileReader(log.NewLogger(), fileutil.NewFileManager(), pathutil.NewPathModifier(), pathutil.NewPathProvider(), pathutil.NewPathChecker())
return profileReader.InstalledProvisioningProfileInfos(profileutil.ProfileTypeIos)
}
9 changes: 2 additions & 7 deletions autocodesign/profiledownloader/profiledownloader.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ import (
"github.com/bitrise-io/go-utils/v2/fileutil"
"github.com/bitrise-io/go-utils/v2/log"
"github.com/bitrise-io/go-utils/v2/pathutil"
"github.com/bitrise-io/go-xcode/profileutil"
"github.com/bitrise-io/go-xcode/v2/autocodesign"
"github.com/bitrise-io/go-xcode/v2/autocodesign/localcodesignasset"
"github.com/bitrise-io/go-xcode/v2/profileutil"
)

type downloader struct {
Expand Down Expand Up @@ -65,12 +65,7 @@ func (d downloader) GetProfiles() ([]autocodesign.LocalProfile, error) {
return nil, fmt.Errorf("profile (%s) is empty", url)
}

parsedProfile, err := profileutil.ProvisioningProfileFromContent(content)
if err != nil {
return nil, fmt.Errorf("invalid pkcs7 file format: %w", err)
}

profileInfo, err := profileutil.NewProvisioningProfileInfo(*parsedProfile)
profileInfo, err := profileutil.NewProvisioningProfileInfoFromPKCS7Content(content)
if err != nil {
return nil, fmt.Errorf("unknown provisioning profile format: %w", err)
}
Expand Down
16 changes: 3 additions & 13 deletions autocodesign/profiles.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ import (
v1log "github.com/bitrise-io/go-utils/log"
"github.com/bitrise-io/go-utils/v2/log"
"github.com/bitrise-io/go-utils/v2/retry"
"github.com/bitrise-io/go-xcode/profileutil"
"github.com/bitrise-io/go-xcode/v2/autocodesign/devportalclient/appstoreconnect"
"github.com/bitrise-io/go-xcode/v2/profileutil"
"github.com/bitrise-io/go-xcode/xcodeproject/serialized"
)

Expand Down Expand Up @@ -386,12 +386,7 @@ func checkProfileEntitlements(client DevPortalClient, prof Profile, appEntitleme

// ParseRawProfileDeviceUDIDs reads the device UDIDs from the provisioning profile.
func ParseRawProfileDeviceUDIDs(profileContents []byte) (DeviceUDIDs, error) {
pkcs, err := profileutil.ProvisioningProfileFromContent(profileContents)
if err != nil {
return nil, fmt.Errorf("failed to parse pkcs7 from profile content: %s", err)
}

profile, err := profileutil.NewProvisioningProfileInfo(*pkcs)
profile, err := profileutil.NewProvisioningProfileInfoFromPKCS7Content(profileContents)
if err != nil {
return nil, fmt.Errorf("failed to parse profile info from pkcs7 content: %s", err)
}
Expand All @@ -401,12 +396,7 @@ func ParseRawProfileDeviceUDIDs(profileContents []byte) (DeviceUDIDs, error) {

// ParseRawProfileEntitlements ...
func ParseRawProfileEntitlements(profileContents []byte) (Entitlements, error) {
pkcs, err := profileutil.ProvisioningProfileFromContent(profileContents)
if err != nil {
return nil, fmt.Errorf("failed to parse pkcs7 from profile content: %s", err)
}

profile, err := profileutil.NewProvisioningProfileInfo(*pkcs)
profile, err := profileutil.NewProvisioningProfileInfoFromPKCS7Content(profileContents)
if err != nil {
return nil, fmt.Errorf("failed to parse profile info from pkcs7 content: %s", err)
}
Expand Down
6 changes: 3 additions & 3 deletions codesign/codesign.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import (
"github.com/bitrise-io/go-utils/v2/retry"
"github.com/bitrise-io/go-xcode/certificateutil"
"github.com/bitrise-io/go-xcode/exportoptions"
"github.com/bitrise-io/go-xcode/profileutil"
"github.com/bitrise-io/go-xcode/v2/autocodesign"
"github.com/bitrise-io/go-xcode/v2/autocodesign/devportalclient"
"github.com/bitrise-io/go-xcode/v2/autocodesign/devportalclient/appstoreconnect"
Expand All @@ -18,6 +17,7 @@ import (
"github.com/bitrise-io/go-xcode/v2/devportalservice"
"github.com/bitrise-io/go-xcode/v2/exportoptionsgenerator"
"github.com/bitrise-io/go-xcode/v2/plistutil"
"github.com/bitrise-io/go-xcode/v2/profileutil"
"github.com/bitrise-io/go-xcode/v2/xcarchive"
)

Expand Down Expand Up @@ -509,7 +509,7 @@ func (m *Manager) createCodeSignAssetMap(appLayout autocodesign.AppLayout, certi
bundleIDProfileInfoMap := signingAssets.BundleIDProfileMap()
bundleIDProfileMap := map[string]autocodesign.Profile{}
for bundleID, profileInfo := range bundleIDProfileInfoMap {
signingProfile, err := m.profileConverter.ProfileInfoToProfile(profileInfo)
signingProfile, err := m.profileConverter.ProfileInfoToProfile(profileutil.V2Profile(profileInfo))
if err != nil {
return nil, fmt.Errorf("failed to convert profile info: %w", err)
}
Expand Down Expand Up @@ -543,7 +543,7 @@ func (m *Manager) createCodeSignAssetMap(appLayout autocodesign.AppLayout, certi
bundleIDProfileInfoMap := uiTestSigningAssets.BundleIDProfileMap()
bundleIDProfileMap := map[string]autocodesign.Profile{}
for bundleID, profileInfo := range bundleIDProfileInfoMap {
signingProfile, err := m.profileConverter.ProfileInfoToProfile(profileInfo)
signingProfile, err := m.profileConverter.ProfileInfoToProfile(profileutil.V2Profile(profileInfo))
if err != nil {
return nil, fmt.Errorf("failed to convert profile info: %w", err)
}
Expand Down
2 changes: 1 addition & 1 deletion codesign/codesign_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@ import (
"github.com/bitrise-io/go-utils/v2/log"
"github.com/bitrise-io/go-xcode/certificateutil"
"github.com/bitrise-io/go-xcode/exportoptions"
"github.com/bitrise-io/go-xcode/profileutil"
"github.com/bitrise-io/go-xcode/v2/autocodesign"
"github.com/bitrise-io/go-xcode/v2/autocodesign/localcodesignasset"
localcodesignassetMocks "github.com/bitrise-io/go-xcode/v2/autocodesign/localcodesignasset/mocks"
"github.com/bitrise-io/go-xcode/v2/codesign/mocks"
"github.com/bitrise-io/go-xcode/v2/devportalservice"
"github.com/bitrise-io/go-xcode/v2/profileutil"
"github.com/stretchr/testify/mock"
"github.com/stretchr/testify/require"
)
Expand Down
10 changes: 6 additions & 4 deletions exportoptionsgenerator/codesign_group_provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@ import (
"github.com/bitrise-io/go-utils/v2/log"
"github.com/bitrise-io/go-xcode/certificateutil"
"github.com/bitrise-io/go-xcode/exportoptions"
"github.com/bitrise-io/go-xcode/profileutil"
profileutilv1 "github.com/bitrise-io/go-xcode/profileutil"
codesigngroup "github.com/bitrise-io/go-xcode/v2/exportoptionsgenerator/internal/codesigngroup"
"github.com/bitrise-io/go-xcode/v2/plistutil"
"github.com/bitrise-io/go-xcode/v2/profileutil"
)

// CodeSignGroupProvider ...
Expand Down Expand Up @@ -49,12 +50,13 @@ func (g codeSignGroupProvider) DetermineCodesignGroup(certificates []certificate

g.logger.Debugf("Installed profiles:")
for _, profileInfo := range profiles {
g.logger.Debugf(profileInfo.String(certificates...))
profileStr := profileutil.NewProfilePrinter(g.logger, profileutil.DefaultTimeProvider{}).PrintableProfile(profileInfo, certificates...)
g.logger.Debugf(profileStr)
}

g.logger.Println()
g.logger.Printf("Resolving code signing groups...")
codeSignGroups := codesigngroup.BuildFilterableList(certificates, profiles, bundleIDs)
codeSignGroups := codesigngroup.BuildFilterableList(certificates, profileutil.V1Profiles(profiles), bundleIDs)
if len(codeSignGroups) == 0 {
g.logger.Errorf("Failed to find code signing groups for specified export method (%s)", exportMethod)
}
Expand Down Expand Up @@ -113,7 +115,7 @@ func (g codeSignGroupProvider) DetermineCodesignGroup(certificates []certificate
var iosCodeSignGroups []codesigngroup.Ios

for _, selectable := range codeSignGroups {
bundleIDProfileMap := map[string]profileutil.ProvisioningProfileInfoModel{}
bundleIDProfileMap := map[string]profileutilv1.ProvisioningProfileInfoModel{}
for bundleID, profiles := range selectable.BundleIDProfilesMap {
if len(profiles) > 0 {
bundleIDProfileMap[bundleID] = profiles[0]
Expand Down
Loading
Loading