Diff
Not logged in

Differences From Artifact [d9d137e8fc]:

To Artifact [caf065c2af]:


673
674
675
676
677
678
679
680

681
682
683
684

685
686
687
688
689
690
691

692
693
694












695

696
697

698
699
700
701
702
703
704
673
674
675
676
677
678
679

680
681
682
683

684
685
686
687
688
689
690

691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706

707
708

709
710
711
712
713
714
715
716







-
+



-
+






-
+



+
+
+
+
+
+
+
+
+
+
+
+
-
+

-
+







  #
  # <public>
  proc stagePackageFiles { language version platform fileNames } {
    variable checkoutDirectory
    variable fossilAddCommand

    if {![verifyThereAreNoChanges]} then {
      error "cannot stage package files: there are pending changes"
      error "cannot stage files: there are pending changes"
    }

    if {![verifyThisIsTheCorrectProject]} then {
      error "cannot stage package files: wrong project"
      error "cannot stage files: wrong project"
    }

    if {![verifyThisIsTheCorrectBranch]} then {
      changeToTheCorrectBranch

      if {![verifyThisIsTheCorrectBranch]} then {
        error "cannot stage file: still on wrong branch"
        error "cannot stage files: still on wrong branch"
      }
    }

    set newFileNames [list]

    foreach fileName $fileNames {
      if {![createOpenPgpSignature $fileName]} then {
        error [appendArgs \
            "cannot stage file \"" $fileName "\": OpenPGP signing failed"]
      }

      lappend newFileNames $fileName
      lappend newFileNames [appendArgs $fileName .asc]
    }

    set relativeFileNames [getRelativeFileNames $fileNames]
    set relativeFileNames [getRelativeFileNames $newFileNames]

    foreach fileName $fileNames relativeFileName $relativeFileNames {
    foreach fileName $newFileNames relativeFileName $relativeFileNames {
      file mkdir [file join \
          $checkoutDirectory $language $version $platform \
          [file dirname $relativeFileName]]

      file copy $fileName \
          [file join $checkoutDirectory $relativeFileName]

972
973
974
975
976
977
978








979






































980
981
982
983
984
985
986
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998

999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043







+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+







    variable argumentData

    if {[isEagle]} then {
      set sender [lindex $args 0]; # NOTE: Disposal.
      set e [lindex $args 1]; # NOTE: Disposal.
    }

    if {[haveArgumentData]} then {
      set apiKey $argumentData(apiKey)
      set package $argumentData(package)
      set patchLevel $argumentData(patchLevel)
      set language $argumentData(language)
      set version $argumentData(version)
      set platform $argumentData(platform)
      set fileNames $argumentData(fileNames)
    puts stdout "SUBMIT CLICKED"

      ::PackageRepository::probeForOpenPgpInstallation
      ::PackageRepository::openPgpMustBeInstalled

      #
      # NOTE: THIS BLOCK REFERS TO SEVERAL UNTESTED PROCEDURES.
      #
      if {0} then {
        stagePackageFiles $language $version $platform $fileNames

        if {![commitPackageFiles \
            $package $patchLevel $language $version checkin]} then {
          error "failed to commit package files"
        }

        set script [createRepositoryScript \
            "" $checkin $language $version $platform $fileNames [list]]

        set scriptFileName [file join \
            [::PackageRepository::getFileTempDirectory PKGR_UPLOAD_TEMP] \
            [appendArgs pkgr_upload_ [::PackageRepository::getUniqueSuffix]]]

        writeFile $scriptFileName $script

        if {![createOpenPgpSignature $scriptFileName]} then {
          error [appendArgs \
              "cannot submit package metadata: OpenPGP signing of \"" \
              $scriptFileName "\" failed"]
        }

        set certificate [readFile [appendArgs $scriptFileName .asc]]

        submitPackageMetadata \
            $apiKey $package $patchLevel $language $script $certificate
      }
    } else {
      error "cannot initiate package submission: one or more fields missing"
    }
  }

  #
  # NOTE: This procedure is an event handler.  It handles the clear button in
  #       Tk and Eagle.  It is used to clear the package submission data.  The
  #       args argument is not really used, it is a placeholder to make this
  #       procedure more portable between Tcl and Eagle.  This procedure may